我有一个带有DataGridTemplateColumn的WPF DataGrid,如下所示:
<DataGridTemplateColumn IsReadOnly="False">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
Text="{Binding Path=MyProperty, Mode=OneWay}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox
Text="{Binding Path=MyProperty, UpdateSourceTrigger=PropertyChanged}"
TextChanged="ctl_TextChanged" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
我注意到每次进入单元格编辑时,都会生成一个新的文本框控件,因此,如果我开始键入一个字符,则会多次调用TextChanged事件...对于每个控件实例一次生成了!
重现问题的示例项目:TestEditingTemplate_4.5.2
我仅使用TextChanged事件作为示例,但问题也可能发生在其他事件中(例如,在UserControl中定义的事件)
有没有办法避免这种行为? 我想破坏&#34;编辑&#34;控制CellEditEnding,这样它就不会干扰我返回单元格编辑时生成的新控件;我怎么办?