XAML - Slider

Slider 是一种控件,用户可以通过沿轨道移动 Thumb 控件来从一系列值中进行选择。Slider 类的层次继承如下 −

Slider Hierarchy

属性

Sr.No. 属性 &描述
1

Header

获取或设置控件标题的内容。

2

HeaderProperty

标识 Header 依赖项属性。

3

HeaderTemplate

获取或设置用于显示控件标题内容的 DataTemplate。

4

HeaderTemplateProperty

标识HeaderTemplate 依赖属性。

5

IntermediateValue

在用户与 Slider 交互时,获取或设置 Slider 的值,在值被捕捉到刻度或步进值之前。 Slider 对齐到的值由 SnapsTo 属性指定。

6

IntermediateValueProperty

标识 IntermediateValue 依赖项属性。

7

IsDirectionReversed

获取或设置指示值增加方向的值。

8

IsDirectionReversedProperty

标识 IsDirectionReversed 依赖项属性。

9

IsThumbToolTipEnabled

获取或设置一个值,该值确定滑块值是否显示在 Slider 的 Thumb 组件的工具提示中。

10

IsThumbToolTipEnabledProperty

标识 IsThumbToolTipEnabled 依赖属性。

11

Orientation

获取或设置 Slider 的方向。

12

OrientationProperty

标识 Orientation 依赖项属性。

13

StepFrequency

获取或设置应为其创建步骤的值范围的值部分。

14

StepFrequencyProperty

标识 StepFrequency 依赖项属性。

15

ThumbToolTipValueConverter

获取或设置将范围值转换为Slider 转换为工具提示内容。

16

ThumbToolTipValueConverterProperty

标识 ThumbToolTipValueConverter 依赖项属性。

17

TickFrequency

获取或设置应为其创建刻度的值范围的增量。

18

TickFrequencyProperty

标识 TickFrequency 依赖项属性。

19

TickPlacement

获取或设置一个值,该值指示在轨道上绘制刻度标记的位置。

20

TickPlacementProperty

标识 TickPlacement 依赖属性。

事件

Sr.No. 事件和说明
1

ManipulationCompleted

当 UIElement 上的操作完成时发生。(从 UIElement 继承)

2

ManipulationDelta

当输入设备在操作过程中改变位置时发生。 (从 UIElement 继承)

3

ManipulationInertiaStarting

当输入设备在操作过程中与 UIElement 对象失去联系并且开始惯性时发生。 (从 UIElement 继承)

4

ManipulationStarted

当输入设备开始对 UIElement 进行操作时发生。 (从 UIElement 继承)

5

ManipulationStarting

首次创建操作处理器时发生。 (从 UIElement 继承)

6

ValueChanged

范围值改变时发生。 (从 RangeBase 继承)

方法

Sr.No. 方法 &描述
1

OnManipulationCompleted

在 ManipulationCompleted 事件发生之前调用。(从控件继承)

2

OnManipulationDelta

在 ManipulationDelta 事件发生之前调用。(从控件继承)

3

OnManipulationInertiaStarting

在 ManipulationInertiaStarting 事件发生之前调用。 (从控件继承)

4

OnManipulationStarted

在 ManipulationStarted 事件发生之前调用。 (从控件继承)

5

OnManipulationStarting

在 ManipulationStarting 事件发生之前调用。 (从控件继承)

6

OnMaximumChanged

在 Maximum 属性更改时调用。 (从 RangeBase 继承)

7

OnMinimumChanged

当 Minimum 属性更改时调用。(从 RangeBase 继承)

8

OnValueChanged

触发 ValueChanged 路由事件。(从 RangeBase 继承)

9

SetBinding

使用提供的绑定对象将绑定附加到 FrameworkElement。 (从 FrameworkElement 继承)

10

SetValue

设置 DependencyObject 上依赖项属性的本地值。 (从 DependencyObject 继承)

示例

以下示例显示了 XAML 应用程序中 Slider 的用法。 以下是创建 Slider 和文本块以及一些属性和事件的 XAML 代码。

<Window x:Class = "XAMLSlider.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   Title = "MainWindow" Height = "350" Width = "525">
	
   <Grid>
      <StackPanel> 
         <TextBlock Text = "Slider with ValueChanged event handler:" Margin = "10"/> 
         <Slider x:Name = "slider2" Minimum = "0" Maximum = "100"
            TickFrequency = "2" TickPlacement = "BottomRight"
            ValueChanged = "slider2_ValueChanged" Margin = "10"/>
         <TextBlock x:Name = "textBlock1" Margin = "10" Text = "Current value: 0" />
      </StackPanel>
   </Grid> 
	
</Window>

以下是 ValueChanged 事件的 C# 实现 −

using System; 
using System.Windows; 
using System.Windows.Controls;

namespace XAMLSlider {
   /// <summary> 
      /// Interaction logic for MainWindow.xaml 
   /// </summary> 
	
   public partial class MainWindow : Window {
      public MainWindow() { 
         InitializeComponent(); 
      } 
      //private void slider2_ValueChanged(object sender,RangeBaseValueChangedEventArgs e)
      //{ 
         // string msg = String.Format("Current value: {0}", e.NewValue); 
         // this.textBlock1.Text = msg; 
      //}
      
      private void slider2_ValueChanged(object sender,RoutedPropertyChangedEventArgs<double> e) {
         int val = Convert.ToInt32(e.NewValue);
         string msg = String.Format("Current value: {0}", val);
         this.textBlock1.Text = msg; 
      } 
   }
}

当您编译并执行上述代码时,它将产生以下输出 −

Slider Output

我们建议您执行上述示例代码并尝试一些其他属性和事件。

xaml_controls.html