即将添加以下功能
如果选择此组合框,我想更改datagrid的itemssource。
有没有与此相关的例子?
答案 0 :(得分:0)
您可以执行以下操作:
创建一个WPF项目。
使用组合框和数据网格创建一个视图(xaml)。
为这个新创建的视图创建一个视图模型,并为组合框和网格的ItemsSource声明公共属性(集合/列表)。还具有组合框中所选项目的属性。
将此视图模型设置为视图的数据上下文。
在组合框的选定项目的设置器中 - 将绑定到数据网格的ItemsSource的属性更改为通过调用方法或您希望的集合。
答案 1 :(得分:0)
我这样做了:
在xaml中添加caliburn的命名空间
xmlns:cal="http://www.caliburnproject.org"
这是组合框:
<ComboBox ItemsSource="{Binding ComboBoxItemSource}" SelectedItem="{Binding SelectedItem}" cal:Message.Attach="[Event SelectionChanged] = [ComboBoxSelectionChanged()]" />
并且viewmodel应该有这个方法:
public void ComboBoxSelectionChanged()
{
// here based on the SelectedItem you can change the ItemSource for the dataGrid.
}
无论何时更改Combobox的selectedItem,该方法都会受到影响,根据您需要的逻辑,您可以为dataGrid分配ItemSource。
希望这会有所帮助:)