我想重新设计 WPF 控件的一部分。
(具体来说,我想让 ScrollBar 上的滚动按钮更大)
现在我可以做到这一点没问题。我提取了默认样式。进行了必要的调整并将修改后的样式包含在我的应用程序中。
问题是我必须在替换样式中包含整个控件模板,而我要更改的只是 2 个值。
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate TargetType="ScrollBar">
<Grid Background="{TemplateBinding Panel.Background}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}" />
<ColumnDefinition Width="1E-05*" />
<ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}" />
</... etc
我只想将列定义上的 MaxWidth 更改为 50。
所以我的问题是:有什么方法可以对模板进行调整,而不必包含其他所有内容?我仍然希望控件模板的所有其他部分都像默认值一样工作。