我正在使用WPF扩展的Propertygrid我已经更改了propertygrid的背景颜色,但我无法更改网格线的颜色,白色是属性。请在下面提到的链接中查看图片。
https://dl.dropboxusercontent.com/u/5865812/image1.png
谢谢,
答案 0 :(得分:0)
不容易。没有简单的“Style”属性来配置PropertyGrid中的ItemsControl。您可以从源复制PropertyGrid的整个模板并进行修改。
您应该在codeplex上询问问题跟踪器上的功能请求。
与此同时,我发现的方法是创建自己的PropertyGrid子类,并在底层模板部分强制使用GroupStyle:
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
PropertyItemsControl control = ( PropertyItemsControl )this.GetTemplateChild( "PART_PropertyItemsControl" );
var s = ( GroupStyle )this.Resources[ "groupStyle" ];
control.GroupStyle.RemoveAt( 0 );
control.GroupStyle.Add( s );
}
在你的xaml中:
<local:MyPropertyGrid >
<local:MyPropertyGrid.Resources>
<GroupStyle x:Key="groupStyle">
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border>
<Expander Header="{Binding Name}"
IsExpanded="True"
Background="Green">
<ItemsPresenter />
</Expander>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</local:MyPropertyGrid.Resources>
</local:MyPropertyGrid >