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インフラストラクチャを使用できるようにするソリューションを持っていますか?
みんなありがとう、大いに感謝します!
リチャード
