繁体   English   中英

在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"/>
  • 数据上下文为ObjectXYZ。
  • ObjectXYZ具有名称和描述属性。
  • 我也有一个名为“ list”的ObservableCollection类型为“ 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");
    }
}

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM