ItemsControl项目选择绑定

时间:2015-06-04 16:16:34

标签: c# wpf binding selection itemscontrol

我的视图定义如下,

<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但它不起作用。有没有办法绑定它还是有其他选择吗?

非常感谢任何帮助。

注意:请忽略此处的语法,我只是尝试用最少的代码演示我的观点。如果有人对完整代码感兴趣,请告诉我我可以分享它。

1 个答案:

答案 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(绑定源)中的属性更新。