1

さまざまなアイテムを含む TreeView があります。アイテムは、IsSelected プロパティが VM に bool IsSelected にバインドされるようにスタイル設定されています。

ツリー ビュー アイテムをクリックするたびに、この VM プロパティが 2 回呼び出されます。最初は value==false、次に value==true です。

これは通常の動作だと思いますが、IsExpended プロパティが同じ方法でバインドされており、一度しか呼び出されないことを考えると、その理由はわかりません。

ありがとう

4

2 に答える 2

2

その理由は、アイテムを選択すると、最初に古いアイテムが選択解除され、次に新しいアイテムが選択されるためだと思います。これにより、最初の呼び出しで false が呼び出され、2 回目の呼び出しで true が呼び出されます。

おそらくデバッグ中に、View Model の DisplayName または同様のプロパティをチェックして、毎回どの項目が変更されているかを確認し、実際にそうであるかどうかを確認します。

同様に、ノードを展開するときに、他のノードを折りたたむ必要はありません。したがって、展開しようとしたノードを展開するだけです (IsExpanded に true を渡します)。

于 2011-02-25T19:23:06.590 に答える