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

本文关键字:绑定 定时 检查 数据 WPF | 更新日期: 2023-09-27 18:37:03

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

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

  • 这个名字已经在我的数据库中吗
  • 名称是否适合我允许的字符集

没有绑定这很容易,我只是调用可以解决问题的函数。

例:

<TextBox x:Name="textbox_Name" Height="23" Margin="108,37,20,0" TextWrapping="Wrap" Text="{Binding Name,UpdateSourceTrigger=LostFocus}" VerticalAlignment="Top"/>
  • 数据上下文是 ObjectXYZ。
  • ObjectXYZ 具有"名称"和"说明"属性。
  • 我还有一个数据库,其中包含一个名为"list"的"ObjectXYZ"类型的可观察集合

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

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

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

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

private string name;
public string Name 
{
    get
    {
        return name;
    }
    set
    {           
        CheckName(value); // Or whatever are you check functions
        name = value;
        PropertyChanged("Name");
    }
}

我希望这有所帮助。