我的视图定义如下,
<ItemsControl ItemsSource={Binding C1.Coll1}>
....
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type vm:C2}">
<Expander Header="{Binding Name}">
<ListBox ItemsSource={Binding Coll2}/>
</Expander>
</ItemsControl.ItemTemplate>
</ItemsControl>
关联的视图模型是这样的,
Class C1
{
public Coll1<C2>;
}
Class C2
{
Public Name,
Public Coll2
}
我可以将listbox的选择事件绑定到C2中。当这个事件发生时,我想把它发射到C1。我有什么选择?我尝试将选择事件绑定到C1但它不起作用。有没有办法绑定它还是有其他选择吗?
非常感谢任何帮助。
注意:请忽略此处的语法,我只是尝试用最少的代码演示我的观点。如果有人对完整代码感兴趣,请告诉我我可以分享它。
答案 0 :(得分:0)
您的ItemsControl的ItemsSource在C1中已经 。
因此,您只需要创建ItemsSource的SelectedItem与C1中的属性的双向绑定。您需要从ItemsControl更改为Selector的后代,例如列表显示。您仍然可以控制ItemsSource和外观/模板。
int requestCode = getNextRequestCode();
PendingIntent pendingIntent = PendingIntent
.getService(getApplicationContext(), requestCode, intent, 0);
通过将UpdateSourceTrigger设置为&#39; PropertyChanged&#39;一旦选项在ItemsControl中发生变化,您将强制C1(绑定源)中的属性更新。