我有 5 个按钮和一个 ListBox
每次单击按钮时,我都想将 ListBox itemssource 绑定到 Button 引用的不同集合。
到目前为止,我想到的是制作一个带有一个参数的命令,例如按钮名称并调用一个包含 switch 语句的函数,然后在代码中更改 itemssource 绑定。
我是mvvm的新手,你能给我一个更好的方法吗?
首先公开 ViewModel 上的每个集合以及占位符集合CurrentList
。然后,您可以将按钮绑定到相同的命令,但在每个绑定到关联列表的命令参数中:
<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;