属性Nameと2つのリストを持つタイプビューのオブジェクトにバインドするTreeViewがあります。 拡張されたリストの1つに要素を追加すると、拡張されたままで、必要なものがそのまま残ります。 問題は私がView1の名前を変更すると、すべてのMultibinging Bindingsがリフレッシュされ、View1内のいずれかが折りたたまれてもView1が展開されていれば拡張リストがすべて展開されます。 名前の値が変更されたときに、コンバータが何らかの形で変更された値のみを変更し、他のバインディングを壊さないように、この動作を回避する方法はありますか。 あなたのセットアップはCompositeCollection
が役立つ可能性のある何かのように見えますTreeViewのMultiBindingは、バインディング値の1つが変更されたときにTreeViewItemsを折りたたみます。
<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>`
私は不思議ですが、なぜあなたはItemsSourceのようなものにバインドするために "Name"プロパティが必要ですか?バインドできませんか? –
私は他のリストと一緒に最初のtreeviewitemとしてツリービューにバインドされる名前をします。私はMultiBindingがそのような複数のバインディングに最適なソリューションだと思いました。または、私は何かが不足しています –