0

在我得到的自定义 Slider 模板中,主边框的 Height 绑定到TemplateBinding Height属性,我希望 Thumb 元素的高度值相对于我之前提到的TemplateBinding Height属性高 2-3 个像素。有没有什么优雅的方法可以在不涉及 ValueConverters 和 AttachedProperties 的情况下实现这一目标?就像是

Height="{TemplateBinding Height} + 3"

4

1 回答 1

1

2 个选项:

1)考虑设置控件的边距,其高度绑定为-3。我认为这将满足您对“高 2-3 像素”的描述。如果不是 -3,您可以使用其他边距值。

2)如果 1 不起作用,那么您需要编写一个IValueConverter类并将其设置为您的绑定的转换器。不幸的是,TemplateBinding 不支持转换器,因为它们是与控件的前向属性的轻量级连接。

您的绑定将改为:

Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Height, Converter={StaticResource ReferenceToMyPlus3Converter}}"

这是一个编写转换器示例的链接。

于 2013-03-27T19:55:38.877 回答