我有一个 WPF 数据网格,它在 XAML 中定义为这个
AutoGenerateColumns="True"
AutoGeneratingColumn="dgData_AutoGeneratingColumn"
CheckBox.Checked="dgData_Checked"
CheckBox.Unchecked="dgData_UnChecked"
FrozenColumnCount="2"
VirtualizingStackPanel.IsVirtualizing="False"
在运行时,我有一个绑定到数据网格的数据表(带有“IsDirty”列和大约 10 个布尔列)。IsDirty 列用于脏标记,这里是它的 DataTemplate
<DataTemplate x:Key="dtIsDirty">
<Grid>
<Image Margin="2"
Source="{DynamicResource imgDirtyRow}"
Visibility="{Binding Path=Item.IsDirty,
Mode=OneWay,
TargetNullValue=Collapsed,
Converter={StaticResource cnvBooleanToVisibilityConverter},
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type DataGridRow}}}"
/>
</Grid>
</DataTemplate>
一切正常:如果我选中/取消选中一个复选框,则会显示该行的脏标记。
但是当我在更改该行中的复选框之前输入一行时,该标志不会直接显示,而是当我离开该行时。
在 DataTemplate 中将绑定的 UpdateSourceTrigger 设置为 PropertyChange 无济于事,将列的绑定的 UpdateSourceTrigger 设置为 PropertyChange 也无济于事。
任何线索我能做什么?
问候