2

私の Windows ストア XAML アプリでは、WinRTXamlToolkit の TreeView コントロールを使用しており、SelectedItem プロパティを ViewModel のプロパティに双方向バインドしようとしています。

デフォルトでは、SelectedItem プロパティは読み取り専用であり、コントロールが仮想化をサポートしているため、これは理にかなっています。

添付プロパティ、ヘルパーメソッドなどを使用してこれを回避するいくつかのフォークワークを見てきました。その良い例がこの質問に見られます

WPF MVVM TreeView SelectedItem

しかし、すべての質問/ソリューションが WinRT に基づいているわけではなく、WinRT アプリのソリューション コードを作り直そうとした私の試みはすべて無駄でした。

私の質問は、これは WinRT アプリで可能ですか? 私は何が欠けていますか?ありがとう

4

1 に答える 1

1

ビュー モデルのバインド可能なプロパティをグローバルに作成しようとするのはスキップし、代わりにデバッグ ツールのコントロールの使用例のようにIsSelectedBindingPathIsExpandedBindingPathのプロパティを使用します。次に、ビューモデルからアイテムを選択/展開する場合-ビューモデルツリーのルートからのパス全体でアイテム/ノードビューモデルで基本的にtrueに設定するビューモデルと同様の方法を使用し、予想されるパスにノードが存在しない場合のツリーのコンテンツ。TreeViewSelectItem()IsExpanded/IsSelected

于 2014-07-27T06:33:28.360 に答える