WPFで最初のMVVMアプリケーションを作成するのに忙しいです。
基本的に私が抱えている問題は、WPFウィンドウに配置したTreeView(System.Windows.Controls.TreeView)があり、CommandViewModelアイテムのReadOnlyCollectionにバインドすることを決定したことです。これらのアイテムは、 DisplayString、Tag、およびRelayCommand。
これでXAMLに、TreeViewがあり、ReadOnlyCollectionをこれに正常にバインドしました。私はこれを見ることができ、UIですべてがうまく見えます。
ここでの問題は、RelayCommandをTreeViewItemのコマンドにバインドする必要があることですが、TreeViewItemにコマンドがないことがわかります。これにより、IsSelectedプロパティで、またはTreeView_SelectedItemChangedメソッドの背後にあるコードでそれを実行するように強制されますか?それともWPFでこれを魔法のように実行する方法がありますか?
これは私が持っているコードです:
<TreeView BorderBrush="{x:Null}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<TreeView.Items>
<TreeViewItem
Header="New Commands"
ItemsSource="{Binding Commands}"
DisplayMemberPath="DisplayName"
IsExpanded="True">
</TreeViewItem>
</TreeView.Items>
そして理想的には私はただ行きたいです:
<TreeView BorderBrush="{x:Null}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<TreeView.Items>
<TreeViewItem
Header="New Trade"
ItemsSource="{Binding Commands}"
DisplayMemberPath="DisplayName"
IsExpanded="True"
Command="{Binding Path=Command}">
</TreeViewItem>
</TreeView.Items>
誰かが私が持っているRelayCommandインフラストラクチャを使用できるようにするソリューションを持っていますか?
みんなありがとう、大いに感謝します!
リチャード