Xceedはカスタマイズ性が高く、 ITypeEditorインターフェイスとEditor属性PropertyGrid
を使用してプロパティ エディターをカスタマイズできます。
まず、カスタム エディター コントロールを定義する必要があります。
public class DateTimePickerEditor : DateTimePicker, ITypeEditor
{
public DateTimePickerEditor()
{
Format = DateTimeFormat.Custom;
FormatString = "dd.MM.yyyy";
TimePickerVisibility = System.Windows.Visibility.Collapsed;
ShowButtonSpinner = false;
AutoCloseCalendar = true;
}
public FrameworkElement ResolveEditor(PropertyItem propertyItem)
{
Binding binding = new Binding("Value");
binding.Source = propertyItem;
binding.Mode = propertyItem.IsReadOnly ? BindingMode.OneWay : BindingMode.TwoWay;
BindingOperations.SetBinding(this, ValueProperty, binding);
return this;
}
}
コンストラクター内のすべてのものは、特定の動作を取得するために作成されます (つまり、時間制御なし、特定の日付形式など)。
DateTimePickerEditor
次に、オブジェクト プロパティの既定のエディターとしてを設定する必要があります (サンプルでは "Date" と呼ばれます)。
[Category("General")]
[DisplayName("Date")]
[PropertyOrder(2)]
[Editor(typeof(DateTimePickerEditor), typeof(DateTimePicker))]
public Nullable<DateTime> Date
お役に立てば幸いです。