WPF中的绑定验证和保存命令
本文关键字:保存 命令 验证 绑定 WPF | 更新日期: 2023-09-27 18:04:51
我有几个TextBox
绑定属性。这些属性由Validation.ErrorTemplate进行测试。我不使用MVVM。
我已经添加了一个按钮来保存我的输入:
<Button Template="{StaticResource BoutonRessourcesTpl}" Command="Save">
<Button.CommandBindings>
<CommandBinding Command="Save" Executed="Save_Executed" CanExecute="Save_CanExecute"/>
</Button.CommandBindings>
<Image Source= "Toolbar_Valider.png" Height="16"/>
</Button>
在我的代码后面,我这样写:
private void Save_Executed(object sender, ExecutedRoutedEventArgs e)
{
}
private void Save_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = IsValid(sender as DependencyObject);
}
private bool IsValid(DependencyObject obj)
{
// The dependency object is valid if it has no errors,
//and all of its children (that are dependency objects) are error-free.
return !Validation.GetHasError(obj) &&
LogicalTreeHelper.GetChildren(obj)
.OfType<DependencyObject>()
.All(child => IsValid(child));
}
我的问题是我不知道在哪里调用我的代码来保存输入
将代码放入save_performed函数中。例如:http://msdn.microsoft.com/en-us/library/system.windows.input.commandbinding.aspx。尽管在该示例中,CommandBinding被放置在Button的所有者窗口上。