我发现this tutorial ...但是Imma noobie还没太多,无法将它应用于我的滑块。 我现在有这个:
<Slider Grid.Column="1" Orientation="Vertical" Margin="6 0 0 0">
<Slider.Background>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="#ff0000" Offset="0.0" />
<GradientStop Color="#ffff00" Offset="0.2" />
<GradientStop Color="#00ff00" Offset="0.4" />
<GradientStop Color="#00ffff" Offset="0.6" />
<GradientStop Color="#0000ff" Offset="0.8" />
<GradientStop Color="#ff00ff" Offset="1.0" />
</LinearGradientBrush>
</Slider.Background>
<Slider.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
// As I understood I can change styles here
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Slider.Resources>
</Slider>
但我无法理解如何使Slider
具有所有状态和主题的渐变背景,即总是在指针悬停等处不会是黑色的?
任何人都可以发贴示例,请?
ADDED
难道这是一个如此难以理解的问题吗?还是我问坏了?写信给我,请,我会添加细节。因为我真的找不到解决方案。
答案 0 :(得分:1)
有一个关于Slider控件的默认样式和模板的文档。您可以修改这些资源和默认的ControlTemplate,以使控件具有独特的外观。请参阅Slider styles and templates。
从默认样式中,它定义名为Rectangle
的{{1}}。这是&#34;线&#34;在VerticalTrackRect
中,Fill属性绑定到Slider
的{{1}}属性。因此,您应该能够将Background
设置为Slider
的{{1}}属性。
如果要在LinearGradientBrush
被按下时使用Background
Slider
,请使用PointerOver。从默认样式开始,它使用LinearGradientBrush
ThemeResource在PointerOver中设置Background
Slider
。它在Pressed中使用Slider
ThemeResource。
因此,我们应该能够将SliderTrackFillPointerOver
设置为Fill
和VerticalTrackRect
。
例如:
SliderTrackFillPressed