2009-10-05 97 views
0

我想爲位於UserControl中的WPF DataGrid使用標題樣式。但我得到這個:樣式不適用於WPF中的Datagrid標題...資源問題

找不到名爲'{DataGridRowHeaderBackgroundStyle}'的資源。資源名稱區分大小寫。對象'Microsoft.Windows.Controls.DataGridTextColumn'在標記文件'WPF; component/view/dashboardview.xaml'第17行50.位置錯誤。

我將StaticResource更改爲DynamicResource。沒有錯誤,但款式不會改變。

我有這樣定義的風格:

<Style x:Key="DataGridRowHeaderBackgroundStyle" TargetType="{x:Type Primitives:DataGridColumnHeader}"> 
        <Setter Property="Background"> 
         <Setter.Value> 
          <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
           <GradientStop Color="White" Offset="0"/> 
           <GradientStop Color="#FF4C78F0" Offset="0.983"/> 
           <GradientStop Color="#FFEDF1FD" Offset="0.422"/> 
           <GradientStop Color="#FFACC0F7" Offset="0.069"/> 
          </LinearGradientBrush> 
         </Setter.Value> 
        </Setter> 
       </Style> 

內Window.xaml作爲資源

<Window.Resources> 
     <ResourceDictionary Source="MainDebugResources.xaml" /> 
    </Window.Resources> 

這是在用戶控件

<data:DataGridTextColumn HeaderStyle="{StaticResource DataGridRowHeaderBackgroundStyle}" Header="Error" Width="*" 
              Binding="{Binding Text}" IsReadOnly="True" /> 

請讓我知道如果即時通訊做錯了。

感謝

回答

1

嘗試使用此方法包括ResourceDictionary中:

<Window.Resources> 
    <ResourceDictionary> 
        <ResourceDictionary.MergedDictionaries> 
         <ResourceDictionary Source="MainDebugResources.xaml" />     
        </ResourceDictionary.MergedDictionaries> 
       </ResourceDictionary> 
</Window.Resources>