我对数据绑定有点陌生,并且对如何正确访问数据上下文中的“子”对象有疑问。目前在我的代码中,我有一个简单的视图模型对象:
class MyViewModel
{
public Dictionary<int, string> seriesChoices = new Dictionary<int, string>();
...
}
在主窗口中,如果我直接将视图的数据上下文设置为字典,我可以让数据绑定工作:
ViewModel selectValues = new ViewModel();
MyView.DataContext = selectValues.seriesChoices;
....(relevant XAML)
<ComboBox x:Name="ComboBox1"
ItemsSource="{Binding}"
SelectedValuePath="Key"
DisplayMemberPath="Value"
/>
我想做的是直接将 DataContext 设置为 ViewModel 对象,然后指定底层对象,但我似乎无法让它工作。这是我最近尝试过的事情:
MyView.DataContext = selectValues
....(relevant XAML)
<ComboBox x:Name="ComboBox1"
ItemsSource="{Binding seriesChoices}"
SelectedValuePath="Key"
DisplayMemberPath="Value"
/>