0
我想在代碼中設置的風格,但一直未能如願,Style代碼中的CustomWpfDataGrid?
在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"];
}
}
當風格= DataGridStyle2它的作品完美,但是當Style = DataGridStyle1時,它不工作,有什麼想法?
兩個模板是不同的。最好在DataGridStyle1中設置背景,然後檢查。 –
也許模板的'DataGridControlTemplate1'鍵存在問題。你能發佈該模板的代碼嗎? – 2012-09-17 10:38:40
感謝您的關注,我明白,問題是DataGridControlTemplate1,當我設置模板,而不是樣式,它工作完美:'this.Template =(Style)res [「DataGridControlTemplate1」];',但我不明白爲什麼?! –