C# 获取SelectedCellsChanged事件中当前单元格和下一个单元格的值
我有一个使用MVVM模式的WPF数据网格。当焦点从当前单元格改变时,我需要得到当前单元格和相邻单元格的值。这是我的C# 获取SelectedCellsChanged事件中当前单元格和下一个单元格的值,c#,wpf,datagrid,C#,Wpf,Datagrid,我有一个使用MVVM模式的WPF数据网格。当焦点从当前单元格改变时,我需要得到当前单元格和相邻单元格的值。这是我的XAML <DataGrid x:Name="dgOptions" Grid.Row="1" SelectedCellsChanged="dgOptions_SelectedCellsChanged"> <materialDesign:DataGridTemplateColumn x:Name="optValueColumn" Width="1*" C
XAML
<DataGrid x:Name="dgOptions" Grid.Row="1" SelectedCellsChanged="dgOptions_SelectedCellsChanged">
<materialDesign:DataGridTemplateColumn x:Name="optValueColumn" Width="1*" CellTemplateSelector="{StaticResource TemplateSelector}">
<materialDesign:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Grid materialDesign:FocusManager.FocusedElement="{Binding ElementName=optValueColumn}"/>
</DataTemplate>
</materialDesign:DataGridTemplateColumn.CellEditingTemplate>
<materialDesign:DataGridTemplateColumn.Header>
<TextBlock Text="Value" TextWrapping="Wrap" TextAlignment="Center"/>
</materialDesign:DataGridTemplateColumn.Header>
</materialDesign:DataGridTemplateColumn>
<materialDesign:DataGridTemplateColumn x:Name="optDefaultValueColumn" Visibility="Hidden" CellTemplateSelector="{StaticResource TemplateSelector}"/>
</DataGrid>
我已经有了一个SelectedCellsChanged
事件,它做了一些聚焦的事情。在此事件中,我需要获取optValueColumn
和optDefaultValueColumn
的值。因为这和业务逻辑无关,所以我决定用代码本身来实现
如何获取值
或者有没有更好的方法在其他活动中达到同样的效果?在
SelectedCellsChanged
中尝试此方法:
var cellContent = optValueColumn.GetCellContent(e.AddedCells.First().Item);
if(cellContent is ContentPresenter presenter)
{
var content = presenter.Content;
}
由于我不知道您的CellTemplate,您的cellContent可能与ContentPresenter的类型不同