XAML - Slider
Slider 是一种控件,用户可以通过沿轨道移动 Thumb 控件来从一系列值中进行选择。Slider 类的层次继承如下 −
属性
| 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;
}
}
}
当您编译并执行上述代码时,它将产生以下输出 −
我们建议您执行上述示例代码并尝试一些其他属性和事件。

xaml_controls.html