WPF隐藏滑动条轨道

3

我正在使用WPF(以及MVVM框架)创建一个界面,其中包含一个滑块。

<Slider Value="{Binding MotorDemandSpeed}" Maximum="3500" />

我正在尝试隐藏滑块上的轨道部分,以便只剩下“拇指钉”。这就是滑块目前的样子(样式由主题控制):

enter image description here

我已经查看了各种方法,但是我找不到只更改单个滑块的方法。

感谢您的帮助。

2个回答

4

您需要设置此特定Slider实例的Template属性,才能覆盖其ControlTemplate

<Slider Value="{Binding MotorDemandSpeed}" Maximum="3500">
    <Slider.Template>
        <ControlTemplate TargetType="Slider">
            <!-- define the custom template without a track here... -->
        </ControlTemplate>
    </Slider.Template>
</Slider>

2
谢谢,这很有用,因为我不确定如何定义模板。另一个答案提供了一些有用的链接,帮助我创建了隐藏轨道的模板,这就是为什么我将另一个答案设置为答案而不是这个,但这仍然很有用! - AidanH

3
为了改变控件的外观,您需要修改控件模板。每个控件由许多部分组成,每个部分又由许多对象组成。您可以使用正确的 x:KeyTargetType 修改单个部分(例如轨道)。此问题 提供了修改滚动条控件模板的示例,这很可能类似于您拥有的滑块控件模板。第一步是确定您的主题中使用此滑块的 Xaml 文件,并找到定义轨道栏、滑块等部分的部分。然后您应该能够按照自己的喜好重新创建控件,或者完全删除不需要的部分。您是否在使用任何第三方控件,他们可能具有有关如何编辑其主题的信息?也许尝试调查修改控件模板以更好地理解控件模板。这是滑块控件模板的 MDSN 页面,您可能会发现这很有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接