创建WPF常见DataGridTemplateColumn(Create Common DataGr

2019-07-29 04:17发布

我需要建立一个共同的DataGridTemplateColumn ,这样我可以用不同的对象和属性在我的应用程序中使用它。

这里是一些示例代码,我在我的项目中使用

<DataGridTemplateColumn Width="100*">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=Age}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>   
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <TextBox Text="{Binding Path=Age}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>

我需要的代码的通用版本,这样我可以放置DataTemplateapp.xaml ,在我的代码中引用

Answer 1:

你不能模板DataGridTemplateColumn直接。 但幸运的是,你可以使用全局模板细胞 。 看看例子:

App.xaml中

<Application.Resources>

    <DataTemplate x:Key="CellEdintingTemplate">
        <TextBox Text="{Binding Path=Age}" />
    </DataTemplate>
    <DataTemplate x:Key="CellTemplate">
        <TextBlock Text="{Binding Path=Age}" />
    </DataTemplate>

</Application.Resources>

运用

    <DataGrid>
        <DataGrid.Columns>
            <DataGridTemplateColumn 
                 CellEditingTemplate="{StaticResource CellEdintingTemplate}" 
                 CellTemplate="{StaticResource CellTemplate}" />
        </DataGrid.Columns>
    </DataGrid>


文章来源: Create Common DataGridTemplateColumn in WPF