WPF使用IDataErrorInfo進行資料校驗

2021-09-08 20:25:35 字數 2278 閱讀 3915

原文:

wpf使用idataerrorinfo進行資料校驗

這篇部落格將介紹如何使用idataerrorinfo進行資料校驗。下面直接看例子。乙個customer類,兩個屬性(firstname, age)

class

customer

public

intage

}

將customer類繼承idataerrorinfo,並實現它的屬性。

class

customer : system.componentmodel.idataerrorinfo

}else

if(columnname == "

age"

)

}return

result;}}

public

string

error

}public

string

firstname

public

intage

}

在ui中繫結customer的firstname,age屬性,並且當出現錯誤資料時觸發驗證。

"

customerinstance

" firstname="

sam bent

" age="

24" />

"textboxerrortemplate

">

"blue

" borderthickness="

1">

"10">

text="

, path=firstname,

updatesourcetrigger=propertychanged,validatesondataerrors=true}"

tooltip="

, path=(validation.errors)[0].errorcontent}

"validation.errortemplate="

"margin="

0,5" />

", path=age,

updatesourcetrigger=propertychanged,validatesondataerrors=true}"

validation.errortemplate="

">

將customer的firstname與age屬性分別繫結在兩個textbox中,設定validatesondataerrors=true來觸發驗證。將錯誤資訊繫結在textbox的tooltip屬性上,

tooltip=",path=(validation.errors)[0].errorcontent}" 或者

tooltip=",path=(validation.errors).currentitem.errorcontent}"或者

<

style

targettype

="">

<

style.triggers

>

<

trigger

property

="validation.haserror"

value

="true"

>

<

setter

property

="background"

value

="red"

/>

<

setter

property

="tooltip"

value

=", path=(validation.errors)[0].errorcontent}"

/>

trigger

>

style.triggers

>

style

>

另外可以對errortemplate進行定製,例如上面**中的textboxerrortemplate。

執行結果:

wpf 控制項使用

wpf 控制項使用 wpf toolkit和wpf toolkit extend的使用 wpf啟動介面可以一閃,乙個jpg calendar textbox datepicker datagrid使用 datagrid中使用combobox datagrid在更新了observablecollect...

wpf 資源使用

string x key str 沉舟側畔千帆過,並書籤豆腐.sys string double x key dbl 3.1415926 sys double textblock x key res1 text 海上公升明月 textblock x key res2 text 海上生明月 resou...

WPF 初步使用Binding

建立乙個繫結類,實現inotifypropertychanged介面 public class notifypropertychange inotifypropertychanged endregion 具體需要繫結的類繼承notifypropertychange 類,其中需要繫結的屬性的set方法...