WPF Datagrid - 订阅单元格加载事件?

时间:2016-11-23 01:27:38

标签: c# .net wpf xaml datagrid

我希望在单元格加载后修改代码隐藏中的数据网格单元格的布局。

我知道我可以订阅 DataGrid.Load DataGrid.LoadingRow 事件,但我希望有一种方法来订阅特定的单个单元格的负载事件,以便实施更清洁。在documentation中,看起来单元类具有事件(继承自FrameworkElement)但我找不到一种方法来干净地订阅事件。

我正在使用DataGridTemplateColumn,我认为在XAML(CellTemplate)中这样做很容易。

chcp 708

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以将DataGridColumn.CellStyleEventSetter一起使用来实现:

<DataGridTemplateColumn>
    <DataGridTemplateColumn.CellStyle>
        <Style TargetType="{x:Type DataGridCell}">
            <EventSetter Event="Loaded" Handler="CellLoaded" />
        </Style>
    </DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>

在代码隐藏中:

private void CellLoaded(object sender, EventArgs e)
{
    var cell = (DataGridCell)sender;
    ...
}