2010-04-23 76 views
0

我建立使用Prism菜單添加單棱鏡命令委託給項目的列表(使用分層數據模板的trtelerik樹視圖,但希望細節並不重要),我想設置在每個菜單項上綁定一個Click.Command,它們將調用視圖模型中定義的相同委託命令。菜單是建立了項目,我真的不希望把該命令的任何引用英寸的Silverlight XAML中

如何將命令綁定到每個XAML這些項目的?我環顧四周,它看起來像在WPF中我可以使用相對源綁定和找到祖先,但似乎沒有辦法在Silverlight中做到這一點。我可以以某種方式將代理設置爲靜態資源嗎?我不認爲我可以爲視圖模型創建靜態資源,因爲它使用Unity將參數解析爲構造函數。

回答

0

一種選擇是經由結合的ElementName綁定到該用戶控件的DataContext的(或任何其他控件的DataContext的)。

<UserControl x:Name="Control" xmlns:Cal="clr-namespace:Microsoft.Practices.Composite.Presentation.Commands;assembly=Microsoft.Practices.Composite.Presentation"... 

Cal:Click.Command="{Binding ElementName=Control, Path=DataContext.SomeVMCommand}" 

Here's a similar post.

+0

歡呼不知道你能做到元素名稱綁定:) – bobwah 2010-04-28 16:30:53