2012-05-11 90 views
2

我正在使用DevExpress WPF控件。但似乎他們的控件(或網格至少)使用事件而不是命令(不是MVVM友好的)。DevExpress Grid是否支持MVVM和命令(我所能找到的都是事件)

我已經看到了幾種方法來做事件到命令的轉換。但他們都似乎有點黑客給我。而且我有read,它們在連接到DevExpress Grid的某些部分時會崩潰。

我剛剛開始進行一些藍天開發,並且從開始入侵我的UI似乎是一個糟糕的主意。

DevExpress Grid是否支持MVVM和命令? (即我錯過了什麼?)

如果不是,Telerik是否?或者其他任何控制商?

現在我看到的唯一一個似乎是Xceed的。如果DevExpress和它似乎一樣有限,它們是我唯一的選擇嗎?

+0

我發現Dev Express網格很適合查看,但對於CRUD操作它有一些缺陷。由於缺少內置命令,並且缺少許多您想要完全控制CRUD操作的事件,因此它不是MVVM友好的。提供的例子也不是那麼好 - 非常微不足道,經常使用代碼。也就是說我也使用了Telerik,他們也支持MVVM。 – Chris

回答

1

Telerik明確地與Commands一起使用。但是,任何WPF控件都可以通過使用System.Windows.Interactivity將行爲映射到命令。

文章paruse http://www.danharman.net/2011/08/05/binding-wpf-events-to-mvvm-viewmodel-commands/

最重要的一點是:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
... 
<DevExpressControl>  
    <i:Interaction.Triggers>   
     <i:EventTrigger EventName="MouseEnter" > 
      <i:InvokeCommandAction Command="{Binding FooCommand}" /> 
     </i:EventTrigger> 
    </i:Interaction.Triggers> 
</DevExpressControl> 

所以,在短短的XAML行,你的事件綁定到命令。

+0

事件帶有爭議。我怎樣才能將事件的論點傳遞給命令? – Vaccano

+0

看看鏈接,文章描述瞭如何做。 – EtherDragon

相關問題