Wpf-slider

提供:Dev Guides
移動先:案内検索

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クラスの他のプロパティとイベントを試すことをお勧めします。