我将WPF数据绑定到实现IDataErrorInfo接口的实体。一般来说,我的代码如下所示:
企业实体:
public class Person : IDataErrorInfo
{
public string Name { get; set;}
string IDataErrorInfo.this[string columnName]
{
if (columnName=="Name" && string.IsNullOrEmpty(Name))
return "Name is not entered";
目前,我正在使用IDataErrorInfo接口在WPF应用程序中实现验证。作为该接口一部分的索引器允许验证单个属性,如下所示:
public string this[string columnName]
{
get
{
switch (columnName)
{
case "LastName":
if (string.IsNullOrEmpty(this.LastName))
return "LastName must not
在我的模型中,我有很多不同对象的属性,当我为对象设置值的时候,我会检查这个值,如果这个值不被接受,我会抛出一个异常,这在windows forms properties this中工作得很好,但是现在我正在尝试用WPF设计一个新的界面。在WPF中,当我将属性绑定到像textbox这样的控件时,当值发生变化时,我不知道如何处理异常并显示错误消息。示例:
public string ConnectionString
{
get
{
return (_ConnectionString);
似乎在WPF中,我不能绑定到对象上的公共字段,而只能绑定到公共属性。这是WPF故意设计的决定,还是我只是把语法搞错了?
下面是一个示例代码片段:
public class User
{
public string Username;
public string FullName;
public string DisplayName
{
get { return FullName; }
}
}
WPF代码段:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&
我有一个文本框,并绑定到一个属性。
public SapLanguage Language
{
get { return _language; }
set
{
_language = value;
RaisePropertyChanged();
}
}
SapLanguage是类型枚举:
public enum SapLanguage
{
DE,
EN,
FR,
IT
}
WPF如下所示:
<TextBox Grid.Row="3" Grid.Column="1"