我是UWP的新手。我有一个已经在这里问到的问题,
但是,没有一种解决方案真正起作用。我已经测试过了,“ ElementName”找不到父ListView的名称。
在此处重新构建场景,
假设我有这个骨架。 [用伪代码编写]
ViewModel{
Collection< TypeT > CollectionParent{}
RelayCommand_For_ChildList ChildItemClick;
}
//TypeT is a model in here.
TypeT{
Collection<string> CollectionChild{}
}
<ListView Name="ParentListView" ItemSource="CollectionParent">
<ListView.ItemTemplate>
<DataTemplate>
<ListView Name="ChildListView" Command="{Binding ChildItemClick}" ItemSource="AnotherCollectionWithinTheFirstCollection">
</ListView>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
当我运行此代码时,“ Binding ChildItemClick”将尝试在TypeT而不是ViewModel中找到“ ChildItemClick”。
我想在ViewModel中捕获此事件。我该怎么做,请提出建议。
感谢您的阅读。
答案 0 :(得分:0)
如果这仍然是一个问题,并且您对此处的答案感兴趣,请继续。 我认为您在这里有很多选择。
就像已经提到的那样,您可以使用行为SDK,并且必须命名Child-ListView,以便可以将SelctionChanged-Event绑定到命令
您可以将选定的项目绑定到类的元素上,该元素在setter方法中提供列表和反应,但请记住,您需要调用NotifyPropertyChanged
这是两个简单的选项。