Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改Metro滑块旋钮的颜色?_C#_Xaml_Windows 8_Microsoft Metro - Fatal编程技术网

C# 更改Metro滑块旋钮的颜色?

C# 更改Metro滑块旋钮的颜色?,c#,xaml,windows-8,microsoft-metro,C#,Xaml,Windows 8,Microsoft Metro,我有一个在白色背景上的滑块。metro滑块的默认旋钮颜色为白色。是否有一种简单的方法可以更改其颜色?如果要手动控制滑块的样式,需要更新并选择滑块,然后使用工具栏上的“格式->编辑样式->编辑复制”命令 您需要在样式XAML中找到以下内容 <Setter.Value> <ControlTemplate TargetType="Thumb"> <Border BorderBrush="{TemplateBinding BorderBrush}"

我有一个在白色背景上的滑块。metro滑块的默认旋钮颜色为白色。是否有一种简单的方法可以更改其颜色?

如果要手动控制滑块的样式,需要更新并选择滑块,然后使用工具栏上的“格式->编辑样式->编辑复制”命令

您需要在样式XAML中找到以下内容

<Setter.Value>
    <ControlTemplate TargetType="Thumb">
        <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"/>
    </ControlTemplate>
</Setter.Value>

然后可以在此处设置背景色。这将创建一个可以使用的样式。注意两件事。。。 1.您可能希望查看VisualStateManager状态,了解在使用滑块时颜色是如何变化的,并根据需要进行调整
2.通过这种方式,你打破了滑块的功能,以适应用户选择不同的设备主题。例如,如果用户选择了一个暗主题,而您正在使用内置模板反映其中的一些内容,那么您可以获得与给定主题不匹配的控件。一个简单的例子(虽然不适用,因为听起来像是在显式设置页面背景色)是,如果有人使用这种方法将滑块颜色更改为黑色,而没有考虑到他们使用的是浅主题开发,而用户可能使用的是暗主题。希望这是有道理的。

很有道理。听起来我应该坚持默认设置并切换到灯光主题。