0

コードでスタイルを設定しようとしていますが、できませんでした。

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>

これは CustomControl です:

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 の場合は動作しません。アイデアはありますか?

4

1 に答える 1

0

問題はテンプレートだと思うので、これをしなければなりませんでした:

This.Template=(System.Windows.Controls.ControlTemplate)res["DataGridControlTemplate1"];
于 2012-10-01T17:46:48.920 に答える