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

时间:2015-01-09 09:04:43

标签: c# wpf binding verification

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

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

  • 此名称是否已存在于我的数据库中
  • 名称是否适合我允许的字符集

没有绑定,这很简单,我只需调用执行该功能的函数。

示例:

<TextBox x:Name="textbox_Name" Height="23" Margin="108,37,20,0" TextWrapping="Wrap" Text="{Binding Name,UpdateSourceTrigger=LostFocus}" VerticalAlignment="Top"/>
  • datacontext是ObjectXYZ。
  • ObjectXYZ具有名称和描述属性。
  • 我还有一个数据库,其ObservableCollection类型为&#34; ObjectXYZ&#34;叫&#34; list&#34;

Normaly我会做类似的事情: if(!Database.isExistingObject(textbox_Name.Text) { ObjectXYZ.Name=textbox_Name.Text; }

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

1 个答案:

答案 0 :(得分:1)

如果您在用户更新文本框内容后立即致电,您仍然可以拨打背景支票。

private string name;

public string Name 
{
    get
    {
        return name;
    }

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

        name = value;

        PropertyChanged("Name");
    }
}

我希望这会有所帮助。