我有一个WPF数据网格(我实际上在使用Xceed DataGrid,但我认为绑定仍然可以正常工作)。我的网格中有一个DatePicker列,但是当我选择一个日期时,它不会更新我的基础数据源。有什么想法吗?
我已经尝试过:
{Binding Path=., Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}
{Binding Path=., Mode=TwoWay}
{Binding Path=., UpdateSourceTrigger=PropertyChanged}
{Binding Path=.}
{Binding .}
{Binding}
XAML:
<xcdg:Column FieldName="NeedDateOverride" Title="NEED DATE (OVERRIDE)" Width="100">
<xcdg:Column.CellContentTemplate>
<DataTemplate x:Name="needDateOverrideTemplate">
<DockPanel HorizontalAlignment="Stretch" LastChildFill="True">
<DatePicker SelectedDate="{Binding Path=., Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectedDateChanged="NeedDateOverride_SelectedDateChanged" PreviewMouseDown="NeedDateOverride_GotFocus" CalendarOpened="NeedDateOverride_CalendarOpened"></DatePicker>
</DockPanel>
</DataTemplate>
</xcdg:Column.CellContentTemplate>
</xcdg:Column>
C#:
public DateTime NeedDateOverride
{
get
{
return this.needDateOverrideValue;
}
set
{
if (value != this.needDateOverrideValue)
{
this.needDateOverrideValue = value;
NotifyPropertyChanged();
}
}
}
答案 0 :(得分:0)
将DatePicker
放在EditTemplate
的{{1}}中。请参考documentation以获取示例。 CellEditor
用于在不处于编辑模式时更改单元格的外观。
如果使用内置的CellContentTemplate
,则应使用DataGrid
而不是CellEditingTemplate
。