在代码中设置自定义 WpfDataGrid 的样式



我正在尝试在代码中设置样式,但无法做到,

在 XAML 中

<Style x:Key="DataGridStyle1" TargetType="{x:Type DataGrid}">
    <Setter Property="Template" Value="{DynamicResource DataGridControlTemplate1}"/>
</Style>
<Style x:Key="DataGridStyle2" TargetType="{x:Type DataGrid}">
     <Setter Property="Background" Value="AntiqueWhite"/>
</Style>

这是自定义控件:

public class CustomDataGrids : DataGrid
{
    public CustomDataGrids()
    {
        ResourceDictionary res = Application.LoadComponent(new Uri("CustomDataGridStyle.xaml", UriKind.Relative)) as ResourceDictionary;
        this.Style = (Style)res["DataGridStyle1"];
        this.ColumnHeaderStyle = (Style)res["ColumnHeaderStyle1"];
    }
}
当 Style=DataGridStyle2 时,它

工作得很好,但是当 Style=DataGridStyle1 时,它不起作用,有什么想法吗?

我想

问题是模板,所以我不得不这样做:

This.Template=(System.Windows.Controls.ControlTemplate)res["DataGridControlTemplate1"];

相关内容

  • 没有找到相关文章

最新更新