0

我有 5 个按钮和一个 ListBox

每次单击按钮时,我都想将 ListBox itemssource 绑定到 Button 引用的不同集合。

到目前为止,我想到的是制作一个带有一个参数的命令,例如按钮名称并调用一个包含 switch 语句的函数,然后在代码中更改 itemssource 绑定。

我是mvvm的新手,你能给我一个更好的方法吗?

4

1 回答 1

3

首先公开 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;
于 2013-10-19T20:03:30.960 回答