如何在 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;
}
通过绑定直接更改名称(双向绑定)...在更改之前如何检查它?
如果您在用户更新文本框内容后立即调用背景调查,您仍然可以调用背景调查。
private string name;
public string Name
{
get
{
return name;
}
set
{
CheckName(value); // Or whatever are you check functions
name = value;
PropertyChanged("Name");
}
}
我希望这有所帮助。