CodeGo.net> WPF的Datagrid的-订阅单元负载事件?

我希望在单元加载后在代码背后修改数据网格单元的布局.

我知道我可以订阅DataGrid.Load或DataGrid.LoadingRow事件,但我希望有一种方法可以订阅特定的单个单元格的load事件,以使实现更简洁.在documentation中,似乎单元类具有事件(从FrameworkElement继承),但是我找不到干净地订阅事件的方法.

我正在使用DataGridTemplateColumn,我认为在XAML(CellTemplate)中执行此操作会很容易.

<DataGridTemplateColumn Header="ATTENDEES" Width="*">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <ItemsControl ItemsSource="{Binding Path=attendees}" x:Name="AttendeesItemsControl"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

谢谢!

解决方法:

您可以将DataGridColumn.CellStyle与EventSetter结合使用以实现以下目的:

<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;
    ...
}
上一篇:【_ 記 】EasyUI 列表多选传参 (datagrid 用法)


下一篇:C#-Datagrid组合框开始工作