基于使用XAML的另一个ComboBox填充ComboBox [英] Populate ComboBox based on another ComboBox using XAML

查看:201
本文介绍了基于使用XAML的另一个ComboBox填充ComboBox的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个ComboBox

I have two ComboBoxes

<ComboBox Name="cmbMake" DisplayMemberPath="MakeName" SelectedValuePath="MakeID"/>
<ComboBox Name="cmbModel" DisplayMemberPath="ModelName"/>

我使用LINQ到实体填充 cmbGroup ComboBox

I use LINQ-to-Entities to populate the cmbGroup ComboBox

Dim db as myDataEntity
cmbGroup.ItemsSource = db.Makes

根据第一个ComboBox的选择( cmbMake )填充第二个ComboBox( cmbModels ) )使用XAML,以便我在第一个ComboBox中选择的任何一个都将自动过滤第二个ComboBox中的ItemsSource?

How do I populate my second ComboBox (cmbModels) based on the selection of the first ComboBox (cmbMake) using XAML so that whatever I select in the first ComboBox automatically filters the ItemsSource in the second ComboBox?

这是否可以?

推荐答案

我在这里发布完整的解决方案

I am posting the full solution here

<ComboBox Name="cmbMake" DisplayMemberPath="MakeName" SelectedValuePath="MakeID"  Width="200"/>
<ComboBox Name="cmbModel" DisplayMemberPath="ModelName" DataContext="{Binding SelectedItem, ElementName=cmbMake}" Width="200"/>



CODE-BEHIND



CODE-BEHIND

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

只要cmbModel ComboBox中的值发生变化,它将使用LINQ重置cmbModel ComboBox的 ItemsSource

Whenever the value is changed in the cmbModel ComboBox it will use LINQ to reset the ItemsSource of the cmbModel ComboBox.

这篇关于基于使用XAML的另一个ComboBox填充ComboBox的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆