将项源绑定到视图模型中的多个集合
本文关键字:集合 模型 视图 绑定 | 更新日期: 2023-09-27 18:36:15
我有5个按钮和一个列表框
每次单击按钮时,我都希望将 ListBox 项源绑定到按钮引用的不同集合。
到目前为止,我想的是制作一个命令,该命令采用一个参数(例如按钮名称)并计算包含 switch 语句的函数,然后更改代码中的 itemsSource 绑定。
我是MVVM的新手,你能给我一个更好的方法吗?
首先公开
ViewModel上的每个集合以及占位符集合CurrentList
。 然后,您可以将按钮绑定到同一命令,但在绑定到关联列表的每个按钮的 CommandParameter 中:
<Button Command="{Binding SwitchCommand}" CommandParameter="{Binding List1}">List 1</Button>
<Button Command="{Binding SwitchCommand}" CommandParameter="{Binding List2}">List 2</Button>
<ListView ItemsSource="{Binding CurrentList}"></ListView>
在命令的执行方法中,您只需将CurrentList
设置为参数:
_viewModel.CurrentList = (List<string>) parameter;