意外と便利なDataFormについて
例えば下のようなPersonというclassを定義する。
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
.... (中略) ....
public class Person :IEditableObject {
[Required(ErrorMessage="名前は?")]
public string FirstName { get; set; }
[Required(ErrorMessage = "名字は?")]
public string LastName { get; set; }
[Range(0, 100, ErrorMessage = "範囲外です"), Display(Description = "なんか説明")]
public int Age { get; set; }
public void BeginEdit() { }
public void CancelEdit() {}
public void EndEdit() { }
}
値をセットしたものを単純にDataFormにバインドする。
(xmlns:dataControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.DataForm"を定義しておく)
すると....
ちゃんとエラーチェックありで編集できるようなフォームが自動生成されます。
ちょっとしたメンテ画面には非常に便利です。