是否有一个WPF控件看起来像滑块(或者可能是Slider本身),它既有最小值又有最大值而不是单个值让用户选择范围?
答案 0 :(得分:10)
MahApps.Metro库提供了一个很棒的RangeSlider控件。以下是演示应用程序中的示例:
答案 1 :(得分:4)
滑块栏有一个属性IsSelectionRangeEnabled。检查样本: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a9eb8697-3ae4-4045-9508-a75d6168a8af/
答案 2 :(得分:3)
更新:Avalon控件是WPF扩展工具包的旧版本,现在包含AvalonDock。
RangeSlider是WPF Extended工具包的一部分。
答案 3 :(得分:2)
我尝试将两个滑块放在另一个滑块上,因此它看起来像一个范围滑块 然后,您可以设置值,一个滑块为min,另一个滑块为max,并为更大和更小的值添加逻辑。希望它有效,在这种情况下,您不需要添加任何外部第三方库
答案 4 :(得分:2)
正如 @kmatyaszek 已经说AvalonControlsLibrary非常免费( Microsoft公共许可证(Ms-PL))控件库。
但是我发现 RangeSlider 的基本样式不太满意。
样式更适合现代版(RangeSlider.xaml):
<UserControl x:Class="MyProject.MyUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wpf="clr-namespace:Library.WPF;assembly=Library"
MinWidth="700"
HorizontalAlignment="Left"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
mc:Ignorable="d">
<UserControl.Resources>
<ResourceDictionary Source="/Library;component/WPF/RangeSlider/RangeSlider.xaml" />
</UserControl.Resources>
<StackPanel>
<wpf:RangeSlider Width="400"
MinRange="0"
RangeStart="10"
RangeStartSelected="{Binding MyValue_Min}"
RangeStop="100"
RangeStopSelected="{Binding MyValue_Max}" />
</StackPanel>
以下是的外观示例(您可以通过更改画笔颜色值来更改颜色):
{{1}}
控制数据所在的装配:库
命名空间: Library.WPF
答案 5 :(得分:1)
您可以使用RangeSlider中的AvalonControlsLibrary。
示例:
<avalon:RangeSlider RangeStart="0" RangeStop="100"
RangeSelectionChanged="RangeSlider_RangeSelectionChanged"/>
avalon是:
xmlns:avalon="http://schemas.AvalonControls/AvalonControlsLibrary/Controls"
RangeSelectionChanged事件hadler:
private void RangeSlider_RangeSelectionChanged(object sender, AC.AvalonControlsLibrary.Controls.RangeSelectionChangedEventArgs e)
{
Console.WriteLine("e.NewRangeStart: " + e.NewRangeStart);
Console.WriteLine("e.NewRangeStop: " + e.NewRangeStop);
}
答案 6 :(得分:1)
我会推荐Xceed的RangeSlider。
https://github.com/xceedsoftware/wpftoolkit/wiki/RangeSlider