我在ViewModel中有以下代码 -
List<Class1> categories = new List<Class1>
Class1 ob1 = new Class1(){
Heading = "H1",
Commands = new VMCommand[]
{
new VMCommand("Command11", CanExecuteCommand11, ExecuteCommand11),
new VMCommand("Command12", CanExecuteCommand12, ExecuteCommand12),
new VMCommand("Command13", CanExecuteCommand13, ExecuteCommand13),
new VMCommand("Command14", CanExecuteCommand14, ExecuteCommand14)
}
categories.Add(ob1);
Class1 ob2 = new Class1(){
Heading = "H2",
Commands = new VMCommand[]
{
new VMCommand("Command21", CanExecuteCommand21, ExecuteCommand21),
new VMCommand("Command22", CanExecuteCommand22, ExecuteCommand22),
new VMCommand("Command23", CanExecuteCommand23, ExecuteCommand23),
new VMCommand("Command24", CanExecuteCommand24, ExecuteCommand24)
}
categories.Add(ob2);
我在Xaml中获取类别。我想用所有类别的所有命令来命名列表。
答案 0 :(得分:0)
您可以添加提取所有命令然后绑定到该属性或方法的属性或方法。我没有编译这个,但你应该可以这样做:
public ObservableCollection<VMCommand> AllCommands
{
return new ObservableCollection(categories.SelectMany(x => x.Commands));
}