0
我已经创建了与已经用于其内部运作定义的资源一个DataGrid一个用户控件:现在如何在已有资源的WPF组件上设置XAML中的资源?
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="23" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button x:Name="ExcelFilterButton"
Grid.Column="0"
Margin="0,0,0,0"
BorderThickness="0"
Click="ExcelFilterButton_Click"
Focusable="False"
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
Tag="{Binding}">
<Image Width="19"
Height="19"
Source="Resources\NoSortNoFilter.png"
Tag="{Binding}" />
</Button>
<TextBlock Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="{Binding}" />
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.Resources>
,而试图在应用程序中使用的组件,并与下面的XAML
<adg:AdvancedSortFilterDataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="{x:Static SystemColors.HighlightColor}" />
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="{x:Static SystemColors.HighlightTextColor}" />
</adg:AdvancedSortFilterDataGrid.Resources>
设置一些颜色
获取我下面的运行时错误:
'Set property 'System.Windows.ResourceDictionary.DeferrableContent' threw an exception.' Line number '200' and line position '34'.
我试图用资源属性的组件,只需添加资源到现有资源,但获得相同的错误。这里的属性:
Public Shadows Property Resources As ResourceDictionary
Get
Return dataGrid.Resources
End Get
Set(value As ResourceDictionary)
For Each Key As Object In value.Keys
dataGrid.Resources.Add(Key, value(Key))
Next
End Set
End Property
希望有人能让我直接。
编辑:的InnerException:
Cannot re-initialize ResourceDictionary instance.