如何将组合框绑定到ObservableCollection列表中的某个项目-WPF?

时间:2018-09-26 09:59:35

标签: c# wpf data-binding combobox

我有此代码:

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列表中选择的值。

绑定可观察集合并将组件设置为适当值的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

  

绑定可观察集合并将组件设置为适当值的正确方法是什么?

正确的方法是将SelectedItem的{​​{1}}属性绑定到在视图模型类中设置为ComboBox的视图模型的source属性。

您无法确定视图中哪个项目是“某些”项目。视图模型决定了这一点,并返回视图随后绑定到的“某些”对象。请记住,您的应用程序逻辑应在视图模型类中实现。

如果出于某种原因始终希望最初绑定到第三项,则最好在XAML中将formatsList[2]属性硬编码为SelectedIndex

相关问题