我有一个WPF DataGrid
,其DataTable
为ItemsSource
。网格仅用于double
值。但是,对于某些单元格,未指定数据,因此值可以为null
。 (实际上类型是DBNull
)。这一切都正常,直到我开始编辑一个单元格,然后决定我不想在该单元格中的任何值,然后尝试将其留空并继续。 DataGrid
不允许我这样做。如何让它以某种方式工作,以便我可以根据需要将初始null
值重置为单元格?
答案 0 :(得分:0)
您必须使用值转换器...因此,如果单元格为空,则可以将值设置为DBNull。 但我认为你必须手动定义列...
xaml中的:
<Window xmlns:conv="PathToConverter">
<Window.Resources>
<conv:ValueConverter x:Key="valueConverter" />
</Window.Resources>
...
<DataGrid.Columns>
<DataGridTextColumn Header=""
Binding="{Binding doubleValue
, Converter={StaticResource valueConverter}
, Mode=TwoWay}"/>
...
</DataGrid.Columns>
...
</Window>
您的转换器类必须实现IValueConverter
接口
答案 1 :(得分:0)
您是否遇到验证问题?
否则,只要“Esc”-ing将取消当前的编辑,我相信。