【发布时间】:2012-02-14 18:27:31
【问题描述】:
我正在寻找一个如何使用 MVVM light 实现数据表单的属性 IsEnabledChanged 的示例,我设置了触发器但不确定实现。所以,这是版本背后的代码:
void DataForm_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (!IsEnabled)
{
VisualStateManager.GoToState(DataForm, "Disabled", true);
}
else
{
VisualStateManager.GoToState(DataForm, "Normal", true);
}
}
DataForm.IsEnabledChanged += new DependencyPropertyChangedEventHandler(DataForm_IsEnabledChanged);
在 xaml 中使用 MVVM light 我这样做了:
<i:EventTrigger EventName="IsEnabledChanged">
<cmdextras:EventToCommand Command="{Binding IsEnabledChangedCommand}" CommandParameter="{Binding .}" />
</i:EventTrigger>
现在,需要弄清楚如何翻译后面的代码来使用relay命令。
【问题讨论】:
-
你能告诉我们你到目前为止的代码吗?
-
您的代码隐藏有什么问题?如果它有效 - 为什么要改变它?您正在执行的代码与您的视图紧密耦合。不需要涉及视图模型。
标签: silverlight mvvm mvvm-light