2010-02-13 71 views
2

我buidling使用在鏈接給出的實施例的WPF應用程序下面以此爲基礎:WPF,實體framefork和驗證模型

http://www.robbagby.com/silverlight/patterns-based-silverlight-development-part-ii-repository-and-validation/

在給定的用途OnValidating局部方法的示例調用驗證,如果有問題,則在某些情況無效時拋出異常。

在ADO.NET EF中,沒有可以讓你做到這一點的部分方法,例如,沒有OnValidating方法來覆蓋。有什麼,是部分方法,如:OnPropertyChanging和OnPropertyChanged,但我相信他們將被執行immidiatly當你改變一個屬性,可以給出問題時,使用數據綁定(我沒有WPF的經驗,但據我記得從Winforms ,例如一個網格將會立即構建一個模型的空實例並在之後傳遞值,因此在一開始就拋出一個異常,因爲有些要求沒有得到滿足(例如屬性集)

所以基於關於這一點,我只是找錯了方向嗎?有沒有執行驗證一個更好的辦法?

日Thnx提前!

回答

1

您應該在WPF中使用ValidationRules。它們僅用於驗證目的而設計。

看一看here

1

您可能會感興趣的WPF Application Framework (WAF)BookLibrary示例應用程序。它演示瞭如何在WPF + Entity Framework中使用驗證,以及如何在存在驗證錯誤時控制Save按鈕。