WPF DatePicker无法更新数据源

时间:2019-01-11 21:03:12

标签: c# wpf xceed

我有一个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();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

DatePicker放在EditTemplate的{​​{1}}中。请参考documentation以获取示例。 CellEditor用于在不处于编辑模式时更改单元格的外观。

如果使用内置的CellContentTemplate,则应使用DataGrid而不是CellEditingTemplate

相关问题