2013-10-02 27 views
0

在代表該命令的類中實現一個命令,並從ICommand派生出來,似乎更讓我感到滿意。這樣我也可以在MEF複合應用程序中導出和導入命令。我可以從ICommand繼承一個Command類,而不是在一個類上有多個ICommand實例嗎?

這是可能的,還是可行的?有沒有已知的模式來完成這一點?

+0

不清楚,你在這裏問什麼。 'ICommand'是一個接口。你當然可以創建自己的類來實現這個接口。 –

+0

我不問我是否實現了一個接口。我問是否將每個命令作爲繼承'ICommand'的類來執行,並允許MEF導入和導出是一個好主意。 – ProfK

回答

0

我不確定這會如何回答您的問題,因爲我對MEF瞭解不多。

沒有必要直接引用您的類上的命令實例,但您確實需要某種方式來呈現將視圖返回給某個視圖的綁定源。例如,您可以通過將MenuItem的ItemsSource綁定到返回動態生成的IEnumerable命令的屬性來構建菜單。

你也可以使用一個value converter獲得點播一些任意的標識符的命令:

<Button Command="{Binding Path=CommandId, Converter={StaticResource CommandConverter}}" /> 

或者通過Binding.Source直接從XAML傳遞標識:

<Button Command="{Binding Source=DesiredCommand, Converter={StaticResource CommandConverter}}" /> 

在這如果字符串「DesiredCommand」將被傳遞給轉換器。

相關問題