我正在尝试仅通过数据绑定设置滑块值。我不希望用户能够手动更改滑块值。这是片段。关于如何做的任何建议。
<Slider x:Name="Serverslider" Value="{Binding Value}"
/>
我缺少任何属性吗?
我正在尝试仅通过数据绑定设置滑块值。我不希望用户能够手动更改滑块值。这是片段。关于如何做的任何建议。
<Slider x:Name="Serverslider" Value="{Binding Value}"
/>
我缺少任何属性吗?
正如 wojtek 建议的那样,您可以使用 IsEnabled="False" 来禁用输入以影响滑块。你得到这个:
现在,您还需要更改 Slider 的填充颜色。在这里,您有两个选择:
重新模板滑块并更改“禁用”视觉状态以查看您想要的样子。在 Blend 中,右键单击滑块并选择“编辑模板 > 编辑副本”。然后,找到您要更改的颜色。在这里,这些将是填充颜色、拇指背景和禁用状态的拇指边框笔刷。例如,更改以下 XAML:
<VisualState x:Name="Disabled">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="HorizontalDecreaseRect">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SliderTrackDecreaseDisabledBackgroundThemeBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="HorizontalThumb">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SliderThumbDisabledBackgroundThemeBrush}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="HorizontalThumb">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SliderThumbDisabledBackgroundThemeBrush}"/>
</ObjectAnimationUsingKeyFrames>
对此:
<VisualState x:Name="Disabled">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="HorizontalDecreaseRect">
<DiscreteObjectKeyFrame KeyTime="0" Value="Red"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="HorizontalThumb">
<DiscreteObjectKeyFrame KeyTime="0" Value="Orange"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="HorizontalThumb">
<DiscreteObjectKeyFrame KeyTime="0" Value="Yellow"/>
</ObjectAnimationUsingKeyFrames>
注意:如果您关心垂直滑块模板,请编辑标记为“垂直*”的部分。示例代码:https ://github.com/finnigantime/Samples/tree/master/examples/Win8Xaml/Slider_RetemplateDisabledState
如果您的应用程序中的所有禁用滑块看起来都相同,您可以覆盖用于在 app.xaml 中绘制禁用滑块的“主题资源”:
<Application>
<Application.Resources>
<ResourceDictionary>
<SolidColorBrush x:Key="SliderTrackDecreaseDisabledBackgroundThemeBrush" Color="Green" />
<SolidColorBrush x:Key="SliderThumbDisabledBackgroundThemeBrush" Color="Lime" />
</ResourceDictionary>