我制作了一个非常基本的 DataGrid 来测试它,但我立即遇到了这个问题,单击复选框对于前 2 次单击没有任何作用。看起来需要单击一下才能关闭它所在的位置,再单击一次才能聚焦,然后才能通过第三次单击实际检查它。
这是我正在使用的 DataGrid(https://xceed.com/xceed-datagrid-for-wpf/)。
XAML:
<UserControl.Resources>
<DataTemplate x:Key="ItemTemplate">
<StackPanel>
<TextBlock Text="{Binding Property1}"/>
<CheckBox IsChecked="{Binding Property2}"/>
</StackPanel>
</DataTemplate>
</UserControl.Resources>
<Grid>
<xcdg:DataGridControl ItemTemplate="{DynamicResource ItemTemplate}"
ItemsSource="{Binding Collection, Source={StaticResource SampleDataSource1}}"
UpdateSourceTrigger="CellContentChanged"
Margin="10">
</xcdg:DataGridControl>
</Grid>
“SampleDataSource1”只是自动生成的,但无论如何它都在这里:
<SampleDataSource1:SampleDataSource1 xmlns:SampleDataSource1="clr-namespace:Expression.Blend.SampleData.SampleDataSource1">
<SampleDataSource1:SampleDataSource1.Collection>
<SampleDataSource1:Item Property1="Cras aenean" Property2="True"/>
<SampleDataSource1:Item Property1="Class mauris aliquam" Property2="False"/>
<SampleDataSource1:Item Property1="Maecenas integer duis curae" Property2="True"/>
<SampleDataSource1:Item Property1="Praesent nullam nunc" Property2="False"/>
<SampleDataSource1:Item Property1="Nam quisque" Property2="True"/>
<SampleDataSource1:Item Property1="Sed accumsan" Property2="False"/>
<SampleDataSource1:Item Property1="Aptent vivamus aliquam aliquet" Property2="True"/>
<SampleDataSource1:Item Property1="Blandit donec dis" Property2="False"/>
<SampleDataSource1:Item Property1="Amet commodo" Property2="True"/>
<SampleDataSource1:Item Property1="Ante conubia" Property2="False"/>
</SampleDataSource1:SampleDataSource1.Collection>