If I extract the style/template for a RadPropertyGrid to a new ResourceDictionary, when I try to assign an object to the RadPropertyGrid Item property, an exception is thrown.
The exception stack is
{System.Windows.Markup.XamlParseException: Set property 'Telerik.Windows.Controls.StyleManager.BasedOn' threw an exception. [Line: 35 Position: 60] ---> System.ArgumentNullException: Value cannot be null.
Parameter name: defaultStyleKey
at Telerik.Windows.Controls.Theme.GetResourceValue(Type defaultStyleKey, Theme theme, Theme controlTheme)
at Telerik.Windows.Controls.Theme.GetThemeStyle(Theme oldTheme, Type defaultStyleKey)
at Telerik.Windows.Controls.StyleManager.OnBasedOnChanged(DependencyObject d, DependencyPropertyChangedEventArgs args)
at Telerik.Windows.PropertyMetadata.<>c__DisplayClass1.<Create>b__0(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue)
at System.Windows.DependencyObject.UpdateEffectiveValue(DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, ValueOperation operation)
at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at Telerik.Windows.Controls.StyleManager.SetBasedOn(DependencyObject obj, Theme value)
--- End of inner exception stack trace ---
at MS.Internal.XcpImports.MethodEx(IntPtr ptr, String name, CValue[] cvData)
at MS.Internal.XcpImports.MethodEx(DependencyObject obj, String name)
at MS.Internal.XcpImports.FrameworkElement_ApplyTemplate(FrameworkElement frameworkElement)
at System.Windows.Controls.ItemContainerGenerator.LayoutStatesManager.GetElementRoot(Boolean templatesAreGenerated)
at System.Windows.Controls.ItemContainerGenerator.LayoutStatesManager.Load()
at System.Windows.Controls.ItemContainerGenerator.System.Windows.Controls.Primitives.IItemContainerGenerator.PrepareItemContainer(DependencyObject container)
at System.Windows.Controls.ItemsControl.AddVisualChild(Int32 containerIndex, DependencyObject container, Boolean needPrepareContainer)
at System.Windows.Controls.ItemsControl.AddContainerForPosition(GeneratorPosition position)
at System.Windows.Controls.ItemsControl.OnItemsChangedHandler(Object sender, ItemsChangedEventArgs args)
at System.Windows.Controls.ItemContainerGenerator.OnItemAdded(Object item, Int32 index, Boolean suppressEvent)
at System.Windows.Controls.ItemContainerGenerator.System.Windows.Controls.ICollectionChangedListener.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
at System.Windows.Controls.WeakCollectionChangedListener.SourceCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
at System.Windows.Controls.ItemCollection.NotifyCollectionChanged(NotifyCollectionChangedEventArgs e)
at System.Windows.Controls.ItemCollection.System.Windows.Controls.ICollectionChangedListener.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Windows.Controls.ItemCollection.EnumerableCollectionView.System.Windows.Controls.ICollectionChangedListener.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Windows.Controls.WeakCollectionChangedListener.SourceCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
at Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChangedWithAdjustedArgs(NotifyCollectionChangedEventArgs originalArguments, Int32 adjustedOldIndex, Int32 adjustedNewIndex)
at Telerik.Windows.Data.QueryableCollectionView.ProcessSynchronousCollectionChanged(NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.QueryableCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.QueryableCollectionView.OnSourceCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.QueryableCollectionView.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)
at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
at System.Collections.ObjectModel.Collection`1.Add(T item)
at Telerik.Windows.Controls.RadPropertyGrid.GeneratePropertyDefinitions()
at Telerik.Windows.Controls.RadPropertyGrid.OnItemPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
at Telerik.Windows.PropertyMetadata.<>c__DisplayClass1.<Create>b__0(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue)
at System.Windows.DependencyObject.UpdateEffectiveValue(DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, ValueOperation operation)
at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at Telerik.Windows.Controls.RadPropertyGrid.set_Item(Object value)
at testDocking.MainPage.mainPropertyGrid2_Loaded(Object sender, RoutedEventArgs e)}
using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using Telerik.Windows.Controls;using Telerik.Windows.Controls.Data.PropertyGrid;using System.Windows.Data;namespace testDocking{ public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); this.mainPropertyGrid2.HorizontalAlignment = HorizontalAlignment.Stretch; this.mainPropertyGrid2.SizeChanged += new SizeChangedEventHandler(mainPropertyGrid2_SizeChanged); } void mainPropertyGrid2_SizeChanged(object sender, SizeChangedEventArgs e) { var presenter = this.mainPropertyGrid2.ChildrenOfType<PropertyGridPresenter>()[0]; presenter.Width = this.mainPropertyGrid2.ActualWidth - 2; } private void mainPropertyGrid2_Loaded(object sender, RoutedEventArgs e) { ((RadPropertyGrid)sender).Item = new Person(); var presenter = this.mainPropertyGrid2.ChildrenOfType<PropertyGridPresenter>()[0]; presenter.Width = this.mainPropertyGrid2.Width; } } public class Person { public string FirstName { get; set; } public string LastName { get; set; } }}<UserControl x:Class="testDocking.MainPage" mc:Ignorable="d" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" d:DesignHeight="300" d:DesignWidth="400"> <Grid x:Name="LayoutRoot" Background="White"> <telerik:RadDocking BorderThickness="0" Padding="0"> <telerik:RadSplitContainer Orientation="Vertical" InitialPosition="DockedLeft"> <telerik:RadPaneGroup x:Name="propertiesPaneGroup" SelectedIndex="-1"> <telerik:RadPane x:Name="propertiesPane" Header="Properties" CanFloat="False" CanUserClose="False" CanDockInDocumentHost="False"> <telerik:RadPropertyGrid Name="mainPropertyGrid2" Loaded="mainPropertyGrid2_Loaded" AutoGeneratePropertyDefinitions="True" Style="{StaticResource RadPropertyGridStyle1}" DescriptionPanelVisibility="Collapsed"> </telerik:RadPropertyGrid> </telerik:RadPane> </telerik:RadPaneGroup> </telerik:RadSplitContainer> </telerik:RadDocking> </Grid></UserControl>App.xaml:
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x:Class="testDocking.App" > <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="ResourceDictionary1.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources></Application>ResourceDictionary1.xaml:
<ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"> <SolidColorBrush x:Key="ControlOuterBorder" Color="#FF848484"/> <!-- Resource dictionary entries should be defined here. --> <SolidColorBrush x:Key="ControlInnerBorder" Color="White"/> <LinearGradientBrush x:Key="PropertyGrid_HeaderBackground" EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="White" Offset="0"/> <GradientStop Color="#FFCDCDCD" Offset="1"/> <GradientStop Color="#FFCECECE" Offset="0.42"/> <GradientStop Color="#FFAFAFAF" Offset="0.43"/> </LinearGradientBrush> <SolidColorBrush x:Key="RadioButton_Indicator" Color="Black"/> <telerik:Office_BlackTheme x:Key="Theme"/> <SolidColorBrush x:Key="PropertyGrid_SearchIndicator_Background" Color="#FF919191"/> <Style x:Key="ItemsControlStyle" TargetType="ItemsControl"> <Setter Property="BorderBrush" Value="#FF848484"/> <Setter Property="BorderThickness" Value="0,0,0,1"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ItemsControl"> <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" VerticalAlignment="Top"> <ItemsPresenter/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> <DataTemplate x:Key="flatTemplate"> <ItemsControl ItemsSource="{Binding}" Style="{StaticResource ItemsControlStyle}"> <ItemsControl.ItemTemplate> <DataTemplate> <telerik:PropertyGridField Content="{Binding}"> <telerik:PropertyGridField.Resources> <Style x:Key="TextBox" telerik:StyleManager.BasedOn="{StaticResource Theme}" TargetType="TextBox"> <Setter Property="Padding" Value="3,2,0,2"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/> </Style> <Style x:Key="CheckBox" telerik:StyleManager.BasedOn="{StaticResource Theme}" TargetType="CheckBox"> <Setter Property="Margin" Value="3,2,0,2"/> </Style> <Style x:Key="RadComboBox" telerik:StyleManager.BasedOn="{StaticResource Theme}" TargetType="telerik:RadComboBox"> <Setter Property="ItemContainerStyle"> <Setter.Value> <Style telerik:StyleManager.BasedOn="{StaticResource Theme}" TargetType="telerik:RadComboBoxItem"/> </Setter.Value> </Setter> <Setter Property="IsEditable" Value="True"/> </Style> </telerik:PropertyGridField.Resources> <telerik:StyleManager.Theme> <StaticResource ResourceKey="Theme"/> </telerik:StyleManager.Theme> </telerik:PropertyGridField> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </DataTemplate> <SolidColorBrush x:Key="PropertyGrid_IndentCellBackground" Color="#FFE4E4E4"/> <SolidColorBrush x:Key="ToggleButton_Indicator" Color="Black"/> <Style x:Key="PropertyGridToggleButtonStyle" TargetType="telerik:RadToggleButton"> <Setter Property="VerticalContentAlignment" Value="Stretch"/> <Setter Property="HorizontalContentAlignment" Value="Left"/> <Setter Property="Height" Value="25"/> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="Foreground" Value="#FF000000"/> <Setter Property="BorderBrush" Value="{StaticResource ControlOuterBorder}"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="telerik:RadToggleButton"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal"/> <VisualState x:Name="MouseOver"/> <VisualState x:Name="Disabled"/> </VisualStateGroup> <VisualStateGroup x:Name="CheckStates"> <VisualState x:Name="Checked"> <Storyboard> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" Storyboard.TargetName="ExpanderButton"> <EasingDoubleKeyFrame KeyTime="00:00:00.2" Value="180"/> </DoubleAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="IconOuterBorder"> <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="0,0,0,0"/> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderThickness" Storyboard.TargetName="IconInnerBorder"> <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="1,1,0,0"/> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Unchecked"/> </VisualStateGroup> <VisualStateGroup x:Name="FocusStates"> <VisualState x:Name="Focused"/> <VisualState x:Name="Unfocused"/> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Border x:Name="IconOuterBorder" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="25"> <Border x:Name="IconInnerBorder" BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1,1,0,1" Background="{StaticResource PropertyGrid_IndentCellBackground}"> <Path x:Name="ExpanderButton" Data="M0,0L1,0 2,0 2,0.99999991 3,0.99999991 3,2 4,2 4,0.99999991 5,0.99999991 5,0 5.9999999,0 7,0 7,0.99999991 5.9999999,0.99999991 5.9999999,2 5,2 5,3 4,3 4,4 3,4 3,3 2,3 2,2 1,2 1,0.99999991 0,0.99999991z" Fill="{StaticResource ToggleButton_Indicator}" HorizontalAlignment="Center" Height="5" RenderTransformOrigin="0.5,0.5" VerticalAlignment="Center" Width="7"> <Path.RenderTransform> <RotateTransform/> </Path.RenderTransform> </Path> </Border> </Border> <Border BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Grid.ColumnSpan="2" Grid.Column="1"> <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="0,1,1,1" Background="{StaticResource PropertyGrid_IndentCellBackground}"> <ContentPresenter x:Name="PART_ContentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> </Border> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> <telerik:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> <telerik:GroupingItemsSourceConverter x:Key="GroupingItemsSourceConverter"/> <DataTemplate x:Key="groupTemplate"> <ItemsControl ItemsSource="{Binding ., Converter={StaticResource GroupingItemsSourceConverter}}"> <ItemsControl.ItemTemplate> <DataTemplate> <Border BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,1,0,0" Margin="0,-1,0,0"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <telerik:RadToggleButton x:Name="expandCollapseButton" BorderBrush="{x:Null}" Content="{Binding Key}" IsChecked="True" Style="{StaticResource PropertyGridToggleButtonStyle}"/> <ContentPresenter x:Name="PART_ContentPresenter" ContentTemplate="{StaticResource flatTemplate}" Content="{Binding Items}" Grid.Row="1" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=expandCollapseButton}"/> </Grid> </Border> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </DataTemplate> <telerik:ItemTemplateConverter x:Key="ItemTemplateConverter" FlatTemplate="{StaticResource flatTemplate}" GroupTemplate="{StaticResource groupTemplate}"/> <SolidColorBrush x:Key="PropertyGrid_DescriptionBorderBrush" Color="White"/> <SolidColorBrush x:Key="PropertyGrid_DescriptionBackground" Color="#FFBFBFBF"/> <ControlTemplate x:Key="RadPropertyGridTemplate" TargetType="telerik:RadPropertyGrid"> <Border x:Name="PART_RootElement" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <Grid x:Name="PART_PropertyGridContainer" Background="{TemplateBinding Background}"> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition Height="*"/> <RowDefinition Height="auto"/> </Grid.RowDefinitions> <Border x:Name="Header" BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,0,0,1" Margin="0,0,0,-1"> <Border BorderBrush="{StaticResource ControlInnerBorder}" BorderThickness="1" Background="{StaticResource PropertyGrid_HeaderBackground}"> <Grid Margin="1"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <telerik:RadRadioButton x:Name="groupButton" Margin="0,0,3,0" telerik:StyleManager.Theme="{StaticResource Theme}" Visibility="{TemplateBinding SortAndGroupButtonsVisibility}" Width="28"> <ToolTipService.ToolTip> <ToolTip telerik:LocalizationManager.ResourceKey="Categorize" telerik:StyleManager.Theme="{StaticResource Theme}"/> </ToolTipService.ToolTip> <Path Data="M7.0000019,8.9999981 L16.999998,8.9999981 L16.999998,9.9999981 L7.0000019,9.9999981 z M7.0000019,6.9999995 L16.999998,6.9999995 L16.999998,7.9999995 L7.0000019,7.9999995 z M0,6 L3.9999998,8.5 L0,11 z M6.999999,3.0000055 L16.999996,3.0000055 L16.999996,4.0000052 L6.999999,4.0000052 z M7.0000019,0.99999905 L16.999998,0.99999905 L16.999998,1.9999989 L7.0000019,1.9999989 z M0,0 L4,2.5000002 L0,5.0000005 z" Fill="{StaticResource RadioButton_Indicator}" Height="11" Stretch="Fill" StrokeThickness="0" Width="17"/> </telerik:RadRadioButton> <telerik:RadRadioButton x:Name="sortButton" Content="A-Z" Grid.Column="1" IsChecked="True" telerik:StyleManager.Theme="{StaticResource Theme}" Visibility="{TemplateBinding SortAndGroupButtonsVisibility}" Width="28"> <ToolTipService.ToolTip> <ToolTip telerik:LocalizationManager.ResourceKey="Alphabetical" telerik:StyleManager.Theme="{StaticResource Theme}"/> </ToolTipService.ToolTip> </telerik:RadRadioButton> <TextBox x:Name="searchAsYouTypeTextBox" Grid.Column="2" HorizontalAlignment="Stretch" Margin="2,0,0,0" telerik:TextBoxBehavior.SelectAllOnGotFocus="True" Text="{Binding FilterText, ElementName=PropertyGridPresenter, Mode=TwoWay}" telerik:StyleManager.Theme="{StaticResource Theme}" telerik:TextBoxBehavior.UpdateTextOnEnter="True" telerik:TextBoxBehavior.UpdateTextOnTextChanged="True" Visibility="{TemplateBinding SearchBoxVisibility}"/> <Path Grid.Column="2" Data="M8.4939966,1.9999999 C6.5610008,1.9999999 4.9939971,3.5670033 4.9939971,5.5 C4.9939971,7.4329967 6.5610008,9 8.4939966,9 C10.426993,9 11.993997,7.4329967 11.993997,5.5 C11.993997,3.5670033 10.426993,1.9999999 8.4939966,1.9999999 z M8.4939976,0 C11.531564,-8.7786177E-08 13.993998,2.4624338 13.993998,5.5 C13.993998,8.5375662 11.531564,11 8.4939976,11 C7.3549109,11 6.2967014,10.65372 5.4188957,10.060686 L5.3678761,10.025319 L1.4142134,13.978982 L0,12.564768 L3.9563832,8.6083851 L3.9333115,8.5751028 C3.3402777,7.6972966 2.9939978,6.6390872 2.9939978,5.5 C2.9939978,2.4624338 5.4564314,-8.7786177E-08 8.4939976,0 z" Fill="{StaticResource PropertyGrid_SearchIndicator_Background}" HorizontalAlignment="Right" Height="14" Margin="4" Stretch="Fill" StrokeThickness="2" Visibility="{TemplateBinding SearchBoxVisibility}" Width="14"/> </Grid> </Border> </Border> <Border BorderBrush="{StaticResource ControlOuterBorder}" BorderThickness="0,1,0,1" Grid.Row="1"> <ScrollViewer x:Name="PART_ItemsScrollViewer" ScrollViewer.HorizontalScrollBarVisibility="Auto" telerik:StyleManager.Theme="{StaticResource Theme}" ScrollViewer.VerticalScrollBarVisibility="Auto"> <telerik:PropertyGridPresenter x:Name="PropertyGridPresenter" ContentTemplate="{Binding IsChecked, Converter={StaticResource ItemTemplateConverter}, ElementName=groupButton}" LabelColumnWidth="{Binding LabelColumnWidth, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" PropertyDefinitions="{Binding PropertyDefinitions, RelativeSource={RelativeSource TemplatedParent}}" telerik:StyleManager.Theme="{StaticResource Theme}"/> </ScrollViewer> </Border> <Border x:Name="PART_DescriptionPanel" BorderBrush="{StaticResource PropertyGrid_DescriptionBorderBrush}" BorderThickness="0,1,0,0" Background="{StaticResource PropertyGrid_DescriptionBackground}" MinHeight="75" Grid.Row="2" Visibility="{TemplateBinding DescriptionPanelVisibility}"> <StackPanel Orientation="Vertical"> <TextBlock FontWeight="Bold" Margin="5" Text="{Binding SelectedPropertyDefinition.DisplayName, ElementName=PropertyGridPresenter}"/> <TextBlock Margin="5" TextWrapping="Wrap" Text="{Binding SelectedPropertyDefinition.Description, ElementName=PropertyGridPresenter}"/> </StackPanel> </Border> </Grid> </Border> </ControlTemplate> <SolidColorBrush x:Key="ControlBackground" Color="White"/> <SolidColorBrush x:Key="ControlForeground" Color="#FF000000"/> <Style x:Key="RadPropertyGridStyle1" TargetType="telerik:RadPropertyGrid"> <Setter Property="Template" Value="{StaticResource RadPropertyGridTemplate}"/> <Setter Property="Background" Value="{StaticResource ControlBackground}"/> <Setter Property="BorderBrush" Value="{StaticResource ControlOuterBorder}"/> <Setter Property="Foreground" Value="{StaticResource ControlForeground}"/> <Setter Property="BorderThickness" Value="1"/> </Style></ResourceDictionary>