0

特定のノードがクリックされたときに動的に設定する Silverlight TreeView コントロールがあります。たとえば、ノードの第 1 世代 (レベル) をロードし、ユーザーがノードの 1 つをクリックすると、Selected イベントを使用してそのノードの子などを設定します。データベースから bool を送り返します。新しいノードに子ノードがあるかどうかを示す各ノード値を持つ値。

子を持つ新しいノードの前に展開矢印を表示するように設定したいのですが、問題は、その子がまだ入力されていないことです。HasChild を bool 値に設定するかもしれないと思ったのですが、HasChild は読み取り専用です。どんな提案でも大歓迎です。

4

2 に答える 2

1

矢印を表示するためだけに折りたたまれたときに空のツリービュー項目を追加するだけです。

ただし、ユーザーが展開すると、その空白の子をクリアし、非同期呼び出しを実行して実際の子を取得します。

GetChildrenAsync 呼び出しを実行するときに、UserState を親ツリービュー項目または ID に設定します。

それらが到着すると、UserState はその親 treeviewitem または id である必要があります。e.Result に itemsource を設定したばかりの親が見つかったときです。

于 2009-09-09T19:05:55.283 に答える
0

依存関係プロパティに精通している場合は、コードで設定可能で xaml で取得可能な依存関係プロパティを作成して、バインドできるようにすることができます。

これにより、ValueConverter を使用して矢印の可視性をレンダリングできます。

于 2009-09-09T13:08:57.770 に答える