2009-07-22 15 views
1

XmlDataProviderにバインドされたTreeViewのアイテムにWPF DelegateCommandを追加するにはどうすればよいですか? MVVMパターンとコンポジットWPFを使用していて、ユーザがTreeViewの項目をダブルクリックしたときにコマンドを呼び出すようにしたいとします。データバインドされたツリービューのアイテムにコマンドを追加する方法


私はそのDataContextXmlDataProviderに設定されているXAMLで定義されTreeView

<MenuItem Command="{Binding NewCommand}" Header="_New" /> 
:私は単にビューモデルに DelegateCommandに結合するコードの他の部分で

<TreeView 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    ItemsSource="{Binding XPath=/SomeTopElement/*}"> 
    <TreeView.Resources> 
     <HierarchicalDataTemplate 
      DataType="SomeElement" 
      ItemsSource="{Binding XPath=child::*}"> 
      <TextBlock Text="{Binding [email protected]}" /> 
     </HierarchicalDataTemplate> 
    </TreeView.Resources> 
</TreeView> 

これは上記TreeViewでどうすればできますか?

答えて

2

添付コマンド動作パターンを使用する必要があります。 This questionも同様の問題がListView内で発生します。

+0

私はまた、StackOverflow(http://stackoverflow.com/questions/926451/how-can-i-attach-two-attached-behaviors-to-one-xaml-element)に関する別の質問と一般的な例ツリービュー(http://www.codeproject.com/KB/WPF/AttachedBehaviors.aspx)に添付された動作 –

+0

任意のUIElementにコマンドを添付する方法:http://www.japf.fr/?p=22 –

+0

@emddudley :はい、あなたの第1のリンクは、リストボックスに二重clicコマンドを追加するために私のプロジェクトの1つで使用したもので、とてもうまく動作します –

関連する問題