WPF - InPlaceEdit和验证

时间:2015-06-23 11:38:16

标签: c# wpf validation wpf-controls

我在创建一个将成为InPlaceEdit之王并将处理验证的控件时遇到问题。

在我考虑验证之前,我已经创建了一个控件,它具有依赖属性:

public static readonly DependencyProperty ValueProperty = DependencyProperty.Register(
    "Value",
    typeof (object),
    typeof (InPlaceEdit),
    new FrameworkPropertyMetadata(default (object), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, ValueChanged));

我还有额外的属性来存储本地(未更改的)值:

public static readonly DependencyProperty LocalValueProperty = DependencyProperty.Register(
    "LocalValue", 
    typeof (object), 
    typeof (InPlaceEdit), 
    new FrameworkPropertyMetadata(default(object), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));

我创建了按钮SaveCancel,在保存时将“LocalValue”保存到binded属性,并在取消时从“值”恢复“LocalValue”。

它工作得很好,但我有一个问题。它不支持验证,因为我的绑定值在按钮点击时会发生变化。

有没有办法以某种方式将ViewModel验证传递给我的控件?

0 个答案:

没有答案