WPF 将 ComboBox 选择绑定到 DataContext
WPF bind ComboBox selection to DataContext
在我的XAML中,DataContext
设置为另一个class(我们称之为ViewModel,将数据与界面控件分开)。
我的 XAML 中有以下组合框:
<ComboBox Name="cmbList" ItemsSource="{Binding Path=LocationLists, Mode=OneWay}" DisplayMemberPath="Name"></ComboBox>
因此,LocationLists 是我的 DataContext 中的类型化 ObservableCollection。
目前,我有以下活动:
Private Sub cmbList_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles cmbList.SelectionChanged
Dim ll As LocationList
'Get the selected List
ll = e.AddedItems(0)
'Update the selected ListID in DataContext
DataContext.ListID = ll.ID
End Sub
一切正常。
我想要的:如何更新 DataContext
的 ListID
属性 始终等于 Location
的 ID
属性 =] 在 cmbList
中选择的对象,代码隐藏中没有任何实现?是否只能在 XAML 中进行?因为基本上这只是一个有约束力的问题。
谢谢!
<ComboBox ItemsSource="{Binding LocationLists}"
DisplayMemberPath="Name"
SelectedValue="{Binding ListID}"
SelectedValuePath="ID" />
在我的XAML中,DataContext
设置为另一个class(我们称之为ViewModel,将数据与界面控件分开)。
我的 XAML 中有以下组合框:
<ComboBox Name="cmbList" ItemsSource="{Binding Path=LocationLists, Mode=OneWay}" DisplayMemberPath="Name"></ComboBox>
因此,LocationLists 是我的 DataContext 中的类型化 ObservableCollection。
目前,我有以下活动:
Private Sub cmbList_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles cmbList.SelectionChanged
Dim ll As LocationList
'Get the selected List
ll = e.AddedItems(0)
'Update the selected ListID in DataContext
DataContext.ListID = ll.ID
End Sub
一切正常。
我想要的:如何更新 DataContext
的 ListID
属性 始终等于 Location
的 ID
属性 =] 在 cmbList
中选择的对象,代码隐藏中没有任何实现?是否只能在 XAML 中进行?因为基本上这只是一个有约束力的问题。
谢谢!
<ComboBox ItemsSource="{Binding LocationLists}"
DisplayMemberPath="Name"
SelectedValue="{Binding ListID}"
SelectedValuePath="ID" />