【问题标题】:Changing one property of template in control在控件中更改模板的一个属性
【发布时间】:2011-11-20 23:06:00
【问题描述】:
我有一个数据网格,它已经声明了
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"
我有这种风格
<Setter Property="Padding" Value="4" />
如何在不改变样式的情况下更改特定列的标题填充?
我需要这样做,因为在开始时我已经剪切了标题文本,并且我需要在此列将填充减少到 2 以显示全文。
【问题讨论】:
标签:
silverlight
datagrid
styles
【解决方案1】:
使用BasedOn 属性创建另一个Style 以重新使用现有样式:-
<Style x:Key="SpecialDataGridColumnHeaderStyle" BasedOn="{StaticResource DataGridColumnHeaderStyle}" TargetType="DataGridColumnHeader">
<Setter Property="Padding" Value="4" />
</Style>
现在在特定的DataGridColumn 上,您可以将此特殊样式分配给HeaderStyle
<DataGridTextColumn ... HeaderStyle="{StaticResource SpecialDataGridColumnHeaderStyle}" />