Xaml-slider

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

XAML-スライダー

スライダーは、ユーザーがThumbコントロールをトラックに沿って移動することで値の範囲から選択できるようにするコントロールです。 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クラスで一般的に使用されるイベントを以下に示します。

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クラスで一般的に使用されるメソッドです。

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から継承)

次の例は、XAMLアプリケーションでの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;
      }
   }
}

上記のコードをコンパイルして実行すると、次の出力が生成されます-

スライダー出力

上記のサンプルコードを実行し、他のいくつかのプロパティとイベントを試すことをお勧めします。