当其中一个Bindings值更改时,TreeView中的MultiBinding会折叠TreeViewItems

时间:2011-08-05 14:37:32

标签: wpf xaml data-binding treeview multibinding

我有一个TreeView,它绑定到Type View的Object,带有一个属性Name和两个Lists。 当我在其中一个扩展列表中添加元素时,它会保持扩展状态,这就是我想要的。 问题是当我更改View1的名称时,所有Multibinging Bindings都会刷新,如果View1中的任何一个崩溃,则所有扩展列表都会刷新,但View1仍然会展开。 是否有任何方法可以避免此行为,以便当Name的值更改转换器时,仅以某种方式更改已更改的值而不复制其他Bindings。 谢谢

<HierarchicalDataTemplate DataType="{x:Type local:View}">
    <HierarchicalDataTemplate.ItemsSource>
        <MultiBinding Converter="{StaticResource folderConverter}" ConverterParameter=",A,B">
            <Binding Path="Name"/>
            <Binding Path="List1"/>
            <Binding Path="List2"/>
        </MultiBinding>
    </HierarchicalDataTemplate.ItemsSource>`

1 个答案:

答案 0 :(得分:0)

您的设置看起来像CompositeCollection可能会有所帮助,即使您更改了某个部分,它也应该阻止ItemsSource完全重新创建。