DEV SchedulerController 子窗口Appointment实例摸索

2015-10-30 10:23:18来源:作者:博客园精华区人点击

最近在做一个会议登记模块,需要用到SchedulerControl控件,一些学习心得在这里记录下。

自定义appointment窗口

1.新建SchedulerControl1_EditAppointmentFormShowing事件,

{

e.Form = new CustomAppointmentForm(this.schedulerControl1, e.Appointment);//CustomAppointmentForm可以是自己任意新建窗口。

e.AllowResize = false;

}

2.CustomAppointmentForm后台需要添加类CustomAppointmentForm

1 public class CustomAppointmentFormController : AppointmentFormController 2 { 3 public CustomAppointmentFormController(SchedulerControl control, Appointment apt): base(control, apt) 4 { 5 } 6 public event PropertyChangedEventHandler ProperyChanged; 7 8 protected override void ApplyChangesCore() 9 {10 base.ApplyChangesCore();11 }12 13 }

3.CustomAppointmentForm添加构造函数

1 public CustomAppointmentForm(SchedulerControl control, Appointment apt) 2 { 3 if (control == null || apt == null) 4 throw new ArgumentNullException("control"); 5 if (control == null || apt == null) 6 throw new ArgumentNullException("apt"); 7 8 this.control = control; 9 this.controller = new CustomAppointmentFormController(control, apt);10 this.apt = apt;11 //dateEdit1.DateTime = Convert.ToDateTime (a);12 //dateEdit1.Text = a;13 dateEdit1.EditValue = DateTime.Now.TimeOfDay;14 InitializeComponent();15 }

4.实例化刚才定义类同时定义所需属性

1 SchedulerControl control;2 CustomAppointmentFormController controller;3 Appointment apt;4 public CustomAppointmentFormController Controller { get { return controller; } }5 public SchedulerControl Control { get { return control; } }6 public Appointment Appointment { get { return apt; } }

5.前台开始进行新建窗口与SchedulerControl控件属性的绑定。(使用binding)

1 <TextBlock x:Name="label5" Margin="0,0,4,4" 2 HorizontalAlignment="Left" 3 Grid.Row="1" Grid.Column="0" 4 Text="开始时间:" /> 5 <dxe:DateEdit x:Name="dateStart" Margin="0,0,4,4" 6 Grid.Row="1" Grid.Column="1" 7 EditValue="{Binding Controller.DisplayStartDate, Mode=TwoWay}"/> 8 <dxe:ButtonEdit x:Name="timeStart" Margin="0,0,0,4" 9 Grid.Row="1" Grid.Column="2" 10 AllowDefaultButton="False" 11 MaskType="DateTime" DisplayFormatString="{Binding TimeEditMask}" 12 Mask="{Binding TimeEditMask}" 13 EditValue="{Binding Controller.DisplayStartTime, Converter={StaticResource timeSpanToDateTimeConverter}, Mode=TwoWay}"14 IsEnabled="{Binding IsChecked, Converter={StaticResource ResourceKey=invertedBoolConverter}, ElementName=chkAllDay}"/>

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台