在 WPF 中使用绑定时如何检查数据

How to check data when using binding in WPF

也许这很简单,但我还没有找到解决问题的方法。

当我使用绑定并且用户更改了例如文本框中的文本时,我如何执行一些后台检查,例如:

无需绑定,这很容易,我只需调用执行此操作的函数即可。

示例:

<TextBox x:Name="textbox_Name" Height="23" Margin="108,37,20,0" TextWrapping="Wrap" Text="{Binding Name,UpdateSourceTrigger=LostFocus}" VerticalAlignment="Top"/>

通常我会做这样的事情: if(!Database.isExistingObject(textbox_Name.Text) { ObjectXYZ.Name=textbox_Name.Text; }

通过绑定,名称会直接更改(双向绑定)...我如何在更改前检查它?

如果您在用户更新文本框内容后立即调用背景调查,您仍然可以调用它们。

private string name;

public string Name 
{
    get
    {
        return name;
    }

    set
    {           
        CheckName(value); // Or whatever are you check functions

        name = value;

        PropertyChanged("Name");
    }
}

希望对您有所帮助。