小编Sez*_*zMe的帖子

如何修复 Xceed DateTimePicker ArgumentOutOfRangeException 错误

我使用 Xceed DateTimePicker 作为 wpf DataGrid 中所有绑定到 Date 属性的列的控件。这些列中的每一列定义如下:

    <DataGrid.Columns>
    <DataGridTemplateColumn
    Header="Charge Date"
    Width="100">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock
                Text="{Binding Path=ChargeDate, StringFormat=yyyy-MM-dd, Converter={StaticResource conDate}}"
                HorizontalAlignment="Center" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <tk:DateTimePicker Value="{Binding Path=ChargeDate}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

我认为这与我的问题无关,但为了完整起见,这里是选择器的样式:

<Style TargetType="{x:Type tk:DateTimePicker}">
    <Setter Property="TextAlignment" Value="Center" />
    <Setter Property="Minimum" Value="2017-01-01" />
    <Setter Property="DisplayDefaultValueOnEmptyText" Value="False" />
    <Setter Property="ShowButtonSpinner" Value="False" />
    <Setter Property="TimePickerVisibility" Value="Collapsed" />
    <Setter Property="AutoCloseCalendar" Value="True" />
    <Setter Property="Format" Value="Custom" />
    <Setter Property="FormatString" Value="yyyy-MM-dd" />
</Style>
Run Code Online (Sandbox Code Playgroud)

这适用于已经填充的数据网格单元格或当我在新行中输入数据时。但是,当我单击现有行中的空单元格时,出现以下异常:

System.ArgumentOutOfRangeException: 'SelectedDate value is not valid.'
Run Code Online (Sandbox Code Playgroud)

为什么只有在现有行中输入数据时才会出现错误?发生此异常时没有执行任何代码隐藏,所以我不知道在哪里查找问题。

wpf datagrid datetimepicker xceed

0
推荐指数
1
解决办法
1053
查看次数

标签 统计

datagrid ×1

datetimepicker ×1

wpf ×1

xceed ×1