gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:21:10 24 4
gpt4 key购买 nike

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

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

然后在 DataGrid 上:

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

这很好用。

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

我试过以下但没有效果:

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

...然后删除样式分配:

<DataGridCheckBoxColumn ...>

最佳答案

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

创建一个新列说 MyColumn 所以 MyColumn.xaml 看起来像

<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"/>

MyColumn.xaml.cs看起来像

public partial class MyColumn : DataGridCheckBoxColumn
{
public MyColumn()
{
InitializeComponent();
}
}

然后您使用网格的 View 可以像这样使用它

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

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

关于c# - 如何为 DataGridCheckBoxColumn 创建通用编辑样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39352693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com