Wpf-slider
WPF-スライダー
スライダーは、Thumbコントロールをトラックに沿って移動することにより、ユーザーが値の範囲から選択できるヘルプ付きのコントロールです。 Sliderクラスの階層継承は次のとおりです-
スライダーの一般的に使用されるプロパティ
Sliderの最も一般的に使用されるプロパティを以下に示します。
Sr. No. | Property & Description |
---|---|
1 |
Header コントロールのヘッダーのコンテンツを取得または設定します。 |
2 |
HeaderProperty Header依存プロパティを識別します。 |
3 |
HeaderTemplate コントロールのヘッダーのコンテンツを表示するために使用されるDataTemplateを取得または設定します。 |
4 |
HeaderTemplateProperty HeaderTemplate依存プロパティを識別します。 |
5 |
IntermediateValue 値がティック値またはステップ値のいずれかにスナップされる前に、ユーザーが操作している間にSliderの値を取得または設定します。 Sliderがスナップする値は、SnapsToプロパティで指定されます。 |
6 |
IntermediateValueProperty IntermediateValue依存プロパティを識別します。 |
7 |
IsDirectionReversed 値が増加する方向を示す値を取得または設定します。 |
8 |
IsDirectionReversedProperty IsDirectionReversed依存プロパティを識別します。 |
9 |
IsThumbToolTipEnabled スライダーの値がSliderのThumbコンポーネントのツールヒントに表示されるかどうかを決定する値を取得または設定します。 |
10 |
IsThumbToolTipEnabledProperty IsThumbToolTipEnabled依存プロパティを識別します。 |
11 |
Orientation スライダーの方向を取得または設定します。 |
12 |
OrientationProperty Orientation依存プロパティを識別します。 |
13 |
StepFrequency ステップを作成する値範囲の値部分を取得または設定します。 |
14 |
StepFrequencyProperty StepFrequency依存プロパティを識別します。 |
15 |
ThumbToolTipValueConverter Sliderの範囲値をツールヒントコンテンツに変換するコンバーターロジックを取得または設定します。 |
16 |
ThumbToolTipValueConverterProperty ThumbToolTipValueConverter依存プロパティを識別します。 |
17 |
TickFrequency 目盛りを作成する値の範囲の増分を取得または設定します。 |
18 |
TickFrequencyProperty TickFrequency依存プロパティを識別します。 |
19 |
TickPlacement トラックに対して目盛りを描画する場所を示す値を取得または設定します。 |
20 |
TickPlacementProperty TickPlacement依存プロパティを識別します。 |
Sliderクラスで一般的に使用されるイベント
Sliderで最も一般的に使用されるイベントを以下に示します。
Sr. No. | Event & Description |
---|---|
1 |
ManipulationCompleted UIElementの操作が完了したときに発生します。 (UIElementから継承) |
2 |
ManipulationDelta 入力デバイスが操作中に位置を変更すると発生します。 (UIElementから継承) |
3 |
ManipulationInertiaStarting 入力デバイスが操作中にUIElementオブジェクトとの接触を失い、慣性が始まると発生します。 (UIElementから継承) |
4 |
ManipulationStarted 入力デバイスがUIElementで操作を開始すると発生します。 (UIElementから継承) |
5 |
ManipulationStarting 操作プロセッサが最初に作成されたときに発生します。 (UIElementから継承) |
6 |
ValueChanged 範囲の値が変更されたときに発生します。 (RangeBaseから継承) |
Sliderクラスで一般的に使用されるメソッド
Sliderで最も一般的に使用される方法を以下に示します。
Sr. No. | Method & Description |
---|---|
1 |
OnManipulationCompleted ManipulationCompletedイベントが発生する前に呼び出されます。 (Controlから継承) |
2 |
OnManipulationDelta ManipulationDeltaイベントが発生する前に呼び出されます。 (Controlから継承) |
3 |
OnManipulationInertiaStarting ManipulationInertiaStartingイベントが発生する前に呼び出されます。 (Controlから継承) |
4 |
OnManipulationStarted ManipulationStartedイベントが発生する前に呼び出されます。 (Controlから継承) |
5 |
OnManipulationStarting ManipulationStartingイベントが発生する前に呼び出されます。 (Controlから継承) |
6 |
OnMaximumChanged Maximumプロパティが変更されたときに呼び出されます。 (RangeBaseから継承) |
7 |
OnMinimumChanged Minimumプロパティが変更されたときに呼び出されます。 (RangeBaseから継承) |
8 |
OnValueChanged ValueChangedルーティングイベントを発生させます。 (RangeBaseから継承) |
9 |
SetBinding 提供されたバインディングオブジェクトを使用して、FrameworkElementにバインディングをアタッチします。 (FrameworkElementから継承されます) |
10 |
SetValue DependencyObjectの依存関係プロパティのローカル値を設定します。 (DependencyObjectから継承) |
例
- WPFDialog という名前の新しいWPFプロジェクトを作成しましょう。
- ツールボックスから1つのスライダーと2つのテキストブロックをドラッグします。
- プロパティウィンドウから背景色を変更します。
- 次の例は、XAMLアプリケーションでのSliderの使用法を示しています。 次のXAMLコードは、スライダーとテキストブロックを作成し、それらをいくつかのプロパティとイベントで初期化します。
<Window x:Class = "WPFSliderControl.MainWindow"
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:local = "clr-namespace:WPFSliderControl"
mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
<StackPanel>
<TextBlock Text = "Slider" Margin = "10"/>
<Slider x:Name = "slider2" Minimum = "0" Maximum = "100" TickFrequency = "2"
TickPlacement = "BottomRight" ValueChanged = "slider2_ValueChanged" Margin = "10">
<Slider.Background>
<LinearGradientBrush EndPoint = "0.5,1" StartPoint = "0.5,0">
<GradientStop Color = "Black" Offset = "0"/>
<GradientStop Color = "#FFF5DCDC" Offset = "1"/>
</LinearGradientBrush>
</Slider.Background>
</Slider>
<TextBlock x:Name = "textBlock1" Margin = "10" Text = "Current value: 0"/>
</StackPanel>
</Window>
ValueChangedイベントの* C#*での実装を次に示します。
using System;
using System.Windows;
namespace WPFSliderControl {
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
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クラスの他のプロパティとイベントを試すことをお勧めします。