我有这样的风格
<Style x:Key="LeavesStyle" TargetType="{x:Type dxe:ListBoxEditItem}">
<Setter Property="Background" Value="Blue" />//Not Working
<Setter Property="Template" Value="{StaticResource ItemTemplate}">
</Setter>
</Style>
和我的Template
<ControlTemplate x:Key="ItemTemplate" TargetType="{x:Type dxe:ListBoxEditItem}">
<Border x:Name="rootBorder" BorderThickness="0,0,0,1" BorderBrush="{dxi:ThemeResource ThemeKey={dxgt:GridRowThemeKey ResourceKey=GridDataRowDelimiterBrush}}">
如何从rootBorder
的样式访问Background
?设置rootBorders
Background
我知道我可以这样做
<Setter TargetName="rootBorder" Property="Background" Value="Orange" />
在我的模板中,我想从样式上做到这一点。
答案 0 :(得分:1)
Background
属性不会自动应用于您的边框。您需要将边框背景链接到控件的background属性。您可以使用TemplateBinding
:
<ControlTemplate>
<Border Background="{TemplateBinding Background}" />
</ControlTemplate>
更改样式的控件的Background属性现在将更改项目的背景。
答案 1 :(得分:0)
一种可能性是覆盖样式的控件模板并在其中添加边框
您可以在此处看到类似的解决方案:WPF ListView Style Borders