我正在寻找使用可编辑网格来显示实体的MVVM应用程序的一个很好的示例。我已经尝试将网格绑定到一个ObservableCollection实体,这些实体没有任何问题。我唯一想做的就是绑定一个保存按钮,使其在模型中存在验证错误时被禁用。
答案 0 :(得分:1)
您需要在Viewmodel中使用ICommand属性绑定Button的Command属性。在CanExecute方法中,您可以检查是否存在任何验证错误。如果是,则返回False,否则返回True。按钮将自动激活/停用。
答案 1 :(得分:1)
也许是这样的:
class MyCustomCommand : ICommand
{
public MyCustomCommand(ObservableCollection<object> collection)
{
collection.CollectionChanged += (s, e) =>
{
if (CanExecuteChanged != null)
CanExecuteChanged(this, new EventArgs());
};
}
public bool CanExecute(object parameter)
{
return your condition;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
...
}
}