我有一个Grid.resources中描述的样式。我如何从Thumb修改椭圆的高度和宽度(在我的样本中它们是20和20)?其他属性可以从代码的其他部分访问,但不能访问((
<Style x:Key="CustomThumbForSlider" TargetType="{x:Type Thumb}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Ellipse Fill="Transparent" Stroke="#FF000000" StrokeThickness="3" Height="20" Width="20"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
答案 0 :(得分:1)
如果您使用TemplateBinding
进行任何操作,则不会修改模板,以便在正在模板化的控件上设置属性。 (你也不要修改一种风格)
(如果您需要保留默认值,可以使用Setter
设置通过TemplateBinding
绑定的属性
答案 1 :(得分:0)
您可以使用包含Style
的{{1}}上的FindResource(...)
方法从后面的代码中访问FrameworkElement
。如果您将方法的结果转换为Style
,那么您可以访问Style
。
或者,将Setters
和Width
属性更改为从Height
或Resource
进行更改,然后对其进行修改。