我有此代码:
C#:
public ObservableCollection<My_EDMX_Table> formatsList = new ObservableCollection<My_EDMX_Table>();
XAML:
<ComboBox
Grid.Row="1"
Grid.Column="5"
Margin="0, 5, 5, 5"
Name="CB_1"
ItemsSource="{Binding formatsList}"
SelectedValue="{Binding formatsList[2], Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="True"
Opacity="1"
DisplayMemberPath="formatNaziv"
SelectionChanged="CB_1_SelectionChanged" />
我想绑定列表中的某些项目,在这种情况下,这是formatsList中的第一个元素。尽管该应用程序可以编译,但我没有将其组合框设置为从其ItemSource列表中选择的值。
绑定可观察集合并将组件设置为适当值的正确方法是什么?
答案 0 :(得分:0)
绑定可观察集合并将组件设置为适当值的正确方法是什么?
正确的方法是将SelectedItem
的{{1}}属性绑定到在视图模型类中设置为ComboBox
的视图模型的source属性。
您无法确定视图中哪个项目是“某些”项目。视图模型决定了这一点,并返回视图随后绑定到的“某些”对象。请记住,您的应用程序逻辑应在视图模型类中实现。
如果出于某种原因始终希望最初绑定到第三项,则最好在XAML中将formatsList[2]
属性硬编码为SelectedIndex
。