我有一个带有一列的WPF DataGrid:
<DataGrid Name="myGRID">
<DataGrid.Columns>
<DataGridTextColumn Header="myHeader Binding="{Binding myObservableCollection}">
<DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
</DataGridTextColumn.HeaderStyle>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="{x:Type TextBox}">
<EventSetter Event="TextChanged" Handler="tbx_ConcernEnter_TextChanged"/>
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
现在我想覆盖行的粘贴功能。 当我使用时:
<DataGrid>
<CommandBinding Command="Paste" Executed="CommandBinding_Executed"/>
</DataGrid>
这似乎是整个GridView的覆盖,但不是特定行的覆盖。
你知道怎么改写吗?
答案 0 :(得分:2)
TextBox
中的CellEditingTemplate
吞下“粘贴命令。但您可以处理Loaded
的{{1}}事件并将TextBox
事件处理程序连接到它:
Pasting
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="{x:Type TextBox}">
<EventSetter Event="TextChanged" Handler="tbx_ConcernEnter_TextChanged"/>
<EventSetter Event="Loaded" Handler="TextBox_Loaded" />
</Style>
</DataGridTextColumn.EditingElementStyle>