回复 16楼gaoge00的帖子
这个可以在数据绑定后,参考我给出的第一例子里面的GetValue 和SetValue 去实现。
- //CheckBox
- bool value = false;
- object obj = this.GetValue(row, column);
- if (obj != null)
- {
- if (obj is bool) value = (bool)obj;
- else
- {
- bool.TryParse(obj.ToString(), out value);
- }
- }
- CheckBox control = new CheckBox() { IsChecked = value, Content = "Check Me" };
- control.Checked += delegate(object sender, RoutedEventArgs e)
- {
- this.SetValue(row, column, control.IsChecked);
- };
- control.Unchecked += delegate(object sender, RoutedEventArgs e)
- {
- this.SetValue(row, column, control.IsChecked);
- };
- dobj = new ControlDrawingObject(row, column, control);
- //DateTimePicker
- DateTime? value = null;
- object obj = this.GetValue(row, column);
- if (obj != null)
- {
- if (obj is DateTime) value = (DateTime)obj;
- else
- {
- DateTime date;
- if (DateTime.TryParse(obj.ToString(), out date))
- {
- value = date;
- }
- }
- }
- DatePicker control = new DatePicker() { SelectedDate = value };
- control.LostFocus += delegate(object sender, RoutedEventArgs e)
- {
- this.SetValue(row, column, control.SelectedDate);
- };
- dobj = new ControlDrawingObject(row, column, control);
复制代码 |