/ / DataGridColumnHeader शैली त्रुटि - wpf, xaml, datagridcolumnheader

DataGridColumnHeader शैली त्रुटि - wpf, xaml, datagridcolumnheader

मैंने इनलाइन शैली की कोशिश की है जो ठीक काम करती है।

<DataGrid AutoGenerateColumns="False" AlternatingRowBackground="{x:Null}" DataContext="{StaticResource UserGroups}" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" HeaderTemplate="{StaticResource headerTemplate}" Binding="{Binding Path=Name}"
<DataGridTextColumn.HeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Bottom"/>
</Style>
</DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>

लेकिन मैं संसाधनों में शैली को पसंद करूंगा, इसलिए मैंने यह कोशिश की जो काम नहीं करती है।

<UserControl.Resources>

<DataTemplate x:Key="headerTemplate">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Bottom"  Text="{Binding}"/>
</DataTemplate>

<Style x:Key="dgColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Bottom"/>
</Style>
</UserControl.Resources>

<DataGrid AutoGenerateColumns="False" AlternatingRowBackground="{x:Null}" DataContext="{StaticResource UserGroups}" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" HeaderStyle="dgColumnHeaderStyle" HeaderTemplate="{StaticResource headerTemplate}" Binding="{Binding Path=Name}"/>
</DataGrid.Columns>
</DataGrid>

शायद कुछ आसान है, लेकिन मैंने केवल इस नियंत्रण का उपयोग करना शुरू कर दिया है। मैं दूसरे उदाहरण में शैली को कैसे ठीक करूं ताकि यह काम करे?

उत्तर:

उत्तर № 1 के लिए 1

संसाधन तक पहुँचने के लिए आपको इसका उपयोग करना होगा StaticResource या DynamicResource प्रमुख शब्द

परिवर्तन:

HeaderStyle="dgColumnHeaderStyle"

सेवा मेरे:

HeaderStyle="{StaticResource dgColumnHeaderStyle}"