C# 如何为DataGridCheckBoxColumn创建通用编辑样式?

C# 如何为DataGridCheckBoxColumn创建通用编辑样式?,c#,wpf,datagrid,C#,Wpf,Datagrid,我为DataGrid DataGridCheckBoxColumn创建了以下样式: <Style x:Key="TextColumnEditStyle" TargetType="TextBox"> <Setter...> <Setter...> </Style> 然后在数据网格上: <DataGridCheckBoxColumn EditingElementStyle="{StaticResource TextColumnEdi

我为DataGrid DataGridCheckBoxColumn创建了以下样式:

<Style x:Key="TextColumnEditStyle" TargetType="TextBox">
  <Setter...>
  <Setter...>
</Style>

然后在数据网格上:

<DataGridCheckBoxColumn EditingElementStyle="{StaticResource TextColumnEditStyle}"...>

那很好

有没有一种方法可以使上面的样式成为针对DataGridCheckBoxColumn的更通用的样式,这样我就不必为每个DataGridCheckBoxColumn指定样式

我尝试了以下方法,但没有效果:

<Style TargetType="DataGridCheckBoxColumn">
  <Setter...>
  <Setter...>
</Style>

…然后删除样式指定:

<DataGridCheckBoxColumn ...>

您可以创建一个设置了此样式的自定义列,然后不必添加
DataGridCheckBoxColumn
,您可以添加自己的自定义列并应用您的样式

创建一个新列,比如说
MyColumn

<DataGridCheckBoxColumn  x:Class="TestApp.MyColumn"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:TestApp"
             EditingElementStyle="{StaticResource TextColumnEditStyle}"
             mc:Ignorable="d"/>
然后使用网格的视图可以这样使用它

<Grid>
    <DataGrid ItemsSource="{Binding Items}">
        <DataGrid.Columns>
            <local:MyColumn Binding="{Binding .}"/>
        </DataGrid.Columns>
    </DataGrid>
</Grid>


您可以在新的自定义列将使用的资源中创建
TextColumnEditStyle

根据您的代表,我相信您知道您可以将其放入一个方法中,并为每个列点击该方法,而不是单独键入。抱歉,默认情况下无法设置它。不过,这是一个有趣的问题。我会一直盯着你的,这不是我做的吗?如果没有,您能给出一个代码示例吗?
<Grid>
    <DataGrid ItemsSource="{Binding Items}">
        <DataGrid.Columns>
            <local:MyColumn Binding="{Binding .}"/>
        </DataGrid.Columns>
    </DataGrid>
</Grid>