2011-03-24 69 views
0

我正在尋找一種在WPF中將命令綁定到TreeViewItem的方法,因此當我雙擊TreeViewItem時,在我的ViewModel(MVVM模式)中執行ICommand。 很像Visual Studio解決方案資源管理器。當雙擊時讓TreeViewItem控制執行命令

我希望我可以使用類似AttachedCommandBehaviour但這不起作用。我想這是因爲TreeViewItem本身不支持命令。

這裏是我的測試執行不工作:

<TreeViewItem Header="Opret produktions ordre"> 
    <acb:CommandBehaviorCollection.Behaviors> 
     <acb:BehaviorBinding Event="MouseLeftButtonDown" Command="{Binding TestCommand}"/> 
    </acb:CommandBehaviorCollection.Behaviors> 
</TreeViewItem> 

有沒有人對如何使這項工作有何建議?或者,也許你知道一個控制器給我這個功能? 我當然希望有一個MVVM友好的解決方案。最好全部在XAML中。

回答

0

您是否試過InvokeDataCommandCodePlex Expression Blend sample library觸發?

<i:EventTrigger EventName="Click"> 
     <si:InvokeDataCommand Command="{Binding ShoppingCart.CheckOutCommand}"/> 
</i:EventTrigger> 

則需要在固定的版本,但如果你正在使用WPF4,瞭解這裏的問題:http://blog.thekieners.com/2010/11/09/expression-blend-samples-not-working-with-silverlight-4-and-wpf-4/

從這裏下載樣品溶液(這是更新版本):http://expressionblend.codeplex.com/workitem/8148

+0

他們的文檔很差。你有一個例子嗎? – Vern 2011-03-24 16:41:24

+0

確保您下載示例解決方案,添加正確的鏈接。我發現示例庫中的示例非常明瞭,並且以我的答案爲出發點,但請告知我是否需要更多信息/您需要哪些信息! – dain 2011-03-24 17:09:51

+0

我有一個編譯問題,您可能可以幫助我。 Expression.Samples.Interactivity對System.Windows v2.0.50727有依賴性。當我在我的項目中引用Expression.Samples.Interactivity程序集並使用InvokeDataCommand時,出現編譯錯誤,說它無法解析程序集System.Windows的依賴關係。任何想法?看起來像是WPF2的遺留問題。 – Vern 2011-03-24 18:38:47