var list = new List<Dictionary<string, string>>{
                new Dictionary<string,string>{
                    {"id","1"},
                    {"name","foo"},
                }, 
                new Dictionary<string,string>{
                    {"id","2"},
                    {"name","bar"},
                }
            };
I want to bind this list to a开发者_开发技巧 listbox. It's quite simple:
listBox.ItemsSource=list;
but the problem is: I can't control what is displayed in the listbox. What I want is to display is dict["name"]. I tried:
listbox.DisplayMemberPath="name"
Sadly it doesn't work.
Your code tries to display a property called name on the dictionary, which doesn't exist. To access an indexer use the following syntax:
listBox.DisplayMemberPath = "[name]";
Also, you should be probably setting things like this directly in XAML, not in code-behind.
I figured it out:
<ListBox HorizontalAlignment="Left" Margin="8,35,0,77" Width="88" Name="mainListBox">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Label Content="{Binding Path=[name]}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
pay attention to <Label Content="{Binding Path=[name]}" />, it does all the magic.
hope this help somebody in the future :)
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论