Как создать событие типа "Команда" при редактировании DataGridCell
В моей программе у меня есть DataGrid
с 4 разными колонками. Я хотел бы сделать так, чтобы в одном из столбцов, когда ячейка была выбрана для редактирования, я мог программно изменять содержимое этой ячейки. Например, при редактировании текущего string
значение в выбранной ячейке может измениться на "selected"
, Я посмотрел через DataGridCell
класс здесь, и на самом деле не нашел ничего, что обнаружило бы изменение ячейки. Было бы хорошо, если бы было какое-то событие "cellClick" для каждого DataGridTextColumn
в xaml. Как мне достичь этого типа обработчика?
XAML моего DataGrid
:
<DataGrid ItemsSource="{Binding SysModel.SystemCollection}" MinColumnWidth="50" ColumnHeaderStyle="{StaticResource HeaderStyle}" RowStyle="{StaticResource RowStyleWithAlternation}" CellStyle="{StaticResource CenterCellStyle}"
RowHeaderWidth="0" AlternationCount="2" GridLinesVisibility="Horizontal" SelectionUnit="Cell" CanUserAddRows="False" AutoGenerateColumns="False" Height="471" Name="dataGrid1" Width="468" Canvas.Left="40" Canvas.Top="17">
<DataGrid.Columns>
<DataGridTextColumn Header="{DynamicResource cart}" Width="Auto" IsReadOnly="True" Binding="{Binding cartNum}" />
<DataGridTextColumn Header="{DynamicResource ipAddress}" Width="100" IsReadOnly="False" Binding="{Binding ipAddress}" />
<DataGridTextColumn Header="{DynamicResource portNumber}" Width="70" IsReadOnly="False" Binding="{Binding PortNumber}" />
<!-- **This is the column that contains the cells I want to have this event for** -->
<DataGridTextColumn Header="{DynamicResource configuration}" Width="*" IsReadOnly="False" Binding="{Binding Configuration}" />
</DataGrid.Columns>
<DataGrid.Resources>
<SolidColorBrush Color="#726AA5" x:Key="{x:Static SystemColors.HighlightBrushKey}" />
</DataGrid.Resources>
</DataGrid>
1 ответ
DataGridCell
пожары Selected
событие, когда оно выбрано. Я предполагаю, что до того, как он будет отредактирован пользователем, он должен быть выбран.
Источник: DataGridCell Events