Jas*_*sey 2 vb.net data-binding wpf xaml linq-to-entities
我有两个ComboBoxes
<ComboBox Name="cmbMake" DisplayMemberPath="MakeName" SelectedValuePath="MakeID"/>
<ComboBox Name="cmbModel" DisplayMemberPath="ModelName"/>
Run Code Online (Sandbox Code Playgroud)
我使用LINQ-to-Entities来填充cmbGroup ComboBox
Dim db as myDataEntity
cmbGroup.ItemsSource = db.Makes
Run Code Online (Sandbox Code Playgroud)
如何根据使用XAML 选择的第一个ComboBox(cmbMake)来填充我的第二个ComboBox(cmbModels),这样我在第一个ComboBox中选择的任何内容都会自动过滤第二个ComboBox中的ItemsSource?
这甚至可能吗?
我在这里发布完整的解决方案
<ComboBox Name="cmbMake" DisplayMemberPath="MakeName" SelectedValuePath="MakeID" Width="200"/>
<ComboBox Name="cmbModel" DisplayMemberPath="ModelName" DataContext="{Binding SelectedItem, ElementName=cmbMake}" Width="200"/>
Run Code Online (Sandbox Code Playgroud)
Private Sub cmbMake_SelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs) Handles cmbMake.SelectionChanged
Dim myItem = From m In myModel
Where m.MakeID = cmbMake.SelectedValue
cmbModel.ItemsSource = myItem
End Sub
Run Code Online (Sandbox Code Playgroud)
每当在cmbModel ComboBox中更改值时,它将使用LINQ重置cmbModel ComboBox 的ItemsSource.