我有一个简单的datadtgrid,有3列。我想在ColumnA
个单元格上获得“数据触发器”;如果用户选择ColumnA
中的任何单元格,则“获取该值”并对其执行某些操作。最终,我将使用该单元格值来填充另一个数据网格。但首先,我只想在列上放置数据触发器并在后面的代码中提取该信息。
以下是XAML代码:
我确实在列上放了<style.triggers>
,但不知道如何继续进行。
<DataGrid Grid.Row="1" x:Name="ProducerReport1" ItemsSource="{Binding PopulateProducerData}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="ColumnA" Binding="{Binding ProducerName, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True" >
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="ColumnB" Binding="{Binding reservoirname, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True" >
</DataGridTextColumn>
<DataGridTextColumn Header="ColumnC" Binding="{Binding subsectorname, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True" >
</DataGridTextColumn>
答案 0 :(得分:1)
您可以使用PreviewMouseLeftButtonDown
处理DataGridCell
的{{1}}事件:
CellStyle
<DataGridTextColumn Header="ColumnA" Binding="{Binding ProducerName, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="dg_MouseLeftButtonDown" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>