2

我正在考虑使用 DevExpress WPF 控件。但似乎他们的控件(或至少是网格)使用事件而不是命令(对 MVVM 不友好)。

我已经看到了几种进行事件到命令转换的方法。但对我来说,它们似乎都有点被黑了。而且我读到它们在连接到 DevExpress Grid 的某些部分时会崩溃。

我刚刚开始进行一些 Blue-Sky 开发,从一开始就破解我的 UI 似乎是个糟糕的主意。

DevExpress Grid 是否适用于 MVVM 和命令?(即我错过了什么?)

如果没有,Telerik 呢?或任何其他控制供应商?

现在我看到的唯一一个似乎这样做的是 Xceed。如果 DevExpress 像看起来那样有限,它们是我唯一的选择吗?

4

1 回答 1

1

Telerik definately works with Commands. However any WPF control can map behaviors to commands by using System.Windows.Interactivity.

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

The important bit is:

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>

So, in just a couple of xaml lines, you bind an event to a command.

于 2012-05-11T23:06:15.700 回答