<ComboBox Grid.Row="1" Margin="0,0,0,175" DataContext="{Binding }" />
我已将xaml的DataContext
设置为一个类。
在这里我有一个名为Player
的课程。 Player有一个名为Quests
的另一个对象的属性数组。每个Quest
都有一个name
属性。
如何将组合框的内容绑定到Quest
数组,并使每个项目由其name
属性表示?
我假设我必须使用绑定
答案 0 :(得分:0)
没关系。发现:D
如果其他人有同样的问题:
假设您的窗口/页面中有一个名为Foos的列表。 Foo有一个属性Name。现在,您可以按如下方式在XAML中设置绑定:
<ComboBox ItemsSource="{Binding Path=Foos}"
DisplayMemberPath="Name"
SelectedValuePath="Name"
答案 1 :(得分:0)
语句DataContext="{Binding }"
只需获取DataContext
属性的当前值并将其分配回来 - 这将无效。
假设此视图的DataContext
有一个名为Quests
的属性,您需要做的是:
<ComboBox Grid.Row="1" Margin="0,0,0,175" ItemsSource="{Binding Quests}" />
请注意,ComboBox
派生自ItemsControl
,因此设置ItemsSource
属性始终可以解决问题。
您可能需要为任务项创建数据模板,以便查看实际感兴趣的内容。 This should get you started with Data Templates.
创建数据模板后,使用ItemTemplate
属性将其设置为ComboBox(再次,ItemsControl
提供)。