Я разрабатываю приложение WPF, которое использует сетку данных для отображения списка объектов. В некоторых столбцах отображаются свойства с более подробной информацией, я хотел бы отобразить итоговое значение в сетке данных, а затем при щелчке отобразить более глубокое окно, чтобы разрешить редактирование свойств.
Я - часть пути к тому, чего я хочу, в том, что моя сетка данных отображает то, что я хочу, и что я могу сделать диалоговое окно, появляющееся при нажатии на один из моих специальных столбцов.
<DataGrid ItemsSource="{Binding Sequence.Steps}" AutoGenerateColumns="False" IsReadOnly="True" SelectionUnit="Cell">
<DataGrid.Resources>
<Style TargetType="DataGridCell">
<EventSetter Event="PreviewMouseDown" Handler="DataGrid_PreviewMouseDown" />
<Setter Property="Focusable" Value="False" />
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Axis 1" Binding="{Binding Axes[0]}" ClipboardContentBinding="{Binding Axes[0].DestinationSP}" Width="*" />
<DataGridTextColumn Header="Axis 2" Binding="{Binding Axes[1]}" ClipboardContentBinding="{Binding Axes[1].DestinationSP}" Width="*"/>
<DataGridTextColumn Header="Axis 3" Binding="{Binding Axes[2]}" ClipboardContentBinding="{Binding Axes[2].DestinationSP}" Width="*"/>
</DataGrid.Columns>
</DataGrid>
Затем я определил обработчик
private void DataGrid_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
var dlg = new Views.EditAxisMovement(CellValue); // Need to find a way to get Cell value so I can pass it
dlg.Owner = this;
dlg.ShowDialog();
}
Однако я не могу найти правильный способ найти CellValue
для перехода в диалоговое окно. Есть ли хороший и / или лучший способ справиться с этим.