エンドユーザーが xamSlider コントロールを操作するには、ドラッグ可能なつまみを追加する必要があります。使用するつまみのタイプは、ユーザーが使用しているスライダーのタイプによって異なります。たとえば、xamNumericRangeSlider または xamNumericSlider を使用している場合、 xamSliderNumericThumb オブジェクトを使用する必要があります。これに対して、xamDateTimeRangeSlider または xamDateTimeSlider を使用している場合、 xamSliderDateTimeThumb オブジェクトを使用する必要があります。2 タイプのつまみは交換可能ではありません。ただし、両方とも以下の一般的に使用されるプロパティを共有します (Control クラスから継承されるプロパティに加えて)。
範囲スライダーはデフォルトのつまみを追加しません。したがって、範囲スライダー Thumbs コレクションにつまみを追加する必要があります。ただし、単一値スライダーはデフォルトのつまみを作成するので、つまみのプロパティを変更したい場合、単一値スライダー Thumb プロパティを設定する必要があるだけです。
以下の例のコードは、つまみプロパティの追加と設定を示しています。
XAML の場合:
<StackPanel>
<!--数値単一値スライダー-->
<TextBlock Text="Numeric single-value slider:" />
<ig:XamNumericSlider
Name="xamNumericSlider1"
MinValue="0"
MaxValue="100">
<ig:XamNumericSlider.Thumb>
<ig:XamSliderNumericThumb TrackFillBrush="Red" Value="25" />
</ig:XamNumericSlider.Thumb>
</ig:XamNumericSlider >
<!--数値範囲スライダー-->
<TextBlock Text="Numeric range slider:" />
<ig:XamNumericRangeSlider
Name="xamNumericRangeSlider1"
MinValue="0"
MaxValue="100">
<!--スライダーの Thumbs コレクションのタグを宣言する必要はありません-->
<ig:XamSliderNumericThumb InteractionMode="Free" Value="25" />
<ig:XamSliderNumericThumb InteractionMode="Lock" Value="50" />
<ig:XamSliderNumericThumb InteractionMode="Push" Value="75" />
</ig:XamNumericRangeSlider>
<!--DateTime 単一値スライダー-->
<TextBlock Text="DateTime single-value slider:" />
<ig:XamDateTimeSlider
Name="xamDateTimeSlider1"
MinValue="1/1/2009"
MaxValue="12/31/2009">
<ig:XamDateTimeSlider.Thumb>
<ig:XamSliderDateTimeThumb TrackFillBrush="Red" Value="6/1/2009" />
</ig:XamDateTimeSlider.Thumb>
</ig:XamDateTimeSlider>
<!--DateTime 範囲スライダー-->
<TextBlock Text="DateTime range slider:" />
<ig:XamDateTimeRangeSlider
Name="xamDateTimeRangeSlider1"
MinValue="1/1/2009"
MaxValue="12/31/2009">
<!--スライダーの Thumbs コレクションのタグを宣言する必要はありません-->
<ig:XamSliderDateTimeThumb InteractionMode="Free" Value="4/1/2009" />
<ig:XamSliderDateTimeThumb InteractionMode="Lock" Value="8/1/2009"/>
<ig:XamSliderDateTimeThumb InteractionMode="Push" Value="12/1/2009" />
</ig:XamDateTimeRangeSlider>
</StackPanel>
Visual Basic の場合:
Imports Infragistics.Controls.Interactions Imports Infragistics ... '数値単一値スライダー Dim numericThumb As New XamSliderNumericThumb() numericThumb.TrackFillBrush = New SolidColorBrush(Colors.Red) numericThumb.Value = 25 Me.xamNumericSlider1.Thumb = numericThumb '数値範囲スライダー Dim numericRangeThumb1 As New XamSliderNumericThumb() numericRangeThumb1.InteractionMode = SliderThumbInteractionMode.Free numericRangeThumb1.Value = 25 Dim numericRangeThumb2 As New XamSliderNumericThumb() numericRangeThumb2.InteractionMode = SliderThumbInteractionMode.Lock numericRangeThumb2.Value = 50 Dim numericRangeThumb3 As New XamSliderNumericThumb() numericRangeThumb3.InteractionMode = SliderThumbInteractionMode.Push numericRangeThumb3.Value = 75 Me.xamNumericRangeSlider1.Thumbs.Add(numericRangeThumb1) Me.xamNumericRangeSlider1.Thumbs.Add(numericRangeThumb2) Me.xamNumericRangeSlider1.Thumbs.Add(numericRangeThumb3) 'DateTime 単一値スライダー Dim datetimeThumb As New XamSliderDateTimeThumb() datetimeThumb.TrackFillBrush = new SolidColorBrush(Colors.Red) datetimeThumb.Value = New DateTime(2009, 6, 1) Me.xamDateTimeSlider1.Thumb = datetimeThumb 'DateTime 範囲スライダー Dim datetimeRangeThumb1 As New XamSliderDateTimeThumb() datetimeRangeThumb1.InteractionMode = SliderThumbInteractionMode.Free datetimeRangeThumb1.Value = New DateTime(2009, 4, 1) Dim datetimeRangeThumb2 As New XamSliderDateTimeThumb() datetimeRangeThumb2.InteractionMode = SliderThumbInteractionMode.Lock datetimeRangeThumb2.Value = New DateTime(2009, 8, 1) Dim datetimeRangeThumb3 As New XamSliderDateTimeThumb() datetimeRangeThumb3.InteractionMode = SliderThumbInteractionMode.Push datetimeRangeThumb3.Value = New DateTime(2009, 12, 1) Me.xamDateTimeRangeSlider1.Thumbs.Add(datetimeRangeThumb1) Me.xamDateTimeRangeSlider1.Thumbs.Add(datetimeRangeThumb2) Me.xamDateTimeRangeSlider1.Thumbs.Add(datetimeRangeThumb3) ...
C# の場合:
using Infragistics.Controls.Interactions;
using Infragistics;
...
//数値単一値スライダー
xamSliderNumericThumb numericThumb = new XamSliderNumericThumb
{
TrackFillBrush = new SolidColorBrush(Colors.Red),
Value = 25
};
this.xamNumericSlider1.Thumb = numericThumb;
//数値範囲スライダー
xamSliderNumericThumb numericRangeThumb1 = new XamSliderNumericThumb
{
InteractionMode = SliderThumbInteractionMode.Free,
Value = 25
};
xamSliderNumericThumb numericRangeThumb2 = new XamSliderNumericThumb
{
InteractionMode = SliderThumbInteractionMode.Lock,
Value = 50
};
xamSliderNumericThumb numericRangeThumb3 = new XamSliderNumericThumb
{
InteractionMode = SliderThumbInteractionMode.Push,
Value = 75
};
this.xamNumericRangeSlider1.Thumbs.Add(numericRangeThumb1);
this.xamNumericRangeSlider1.Thumbs.Add(numericRangeThumb2);
this.xamNumericRangeSlider1.Thumbs.Add(numericRangeThumb3);
//DateTime 単一値スライダー
xamSliderDateTimeThumb datetimeThumb = new XamSliderDateTimeThumb
{
TrackFillBrush = new SolidColorBrush(Colors.Red),
Value = new DateTime(2009, 6, 1)
};
this.xamDateTimeSlider1.Thumb = datetimeThumb;
//DateTime 範囲スライダー
xamSliderDateTimeThumb datetimeRangeThumb1 = new XamSliderDateTimeThumb
{
InteractionMode = SliderThumbInteractionMode.Free,
Value = new DateTime(2009, 4, 1)
};
xamSliderDateTimeThumb datetimeRangeThumb2 = new XamSliderDateTimeThumb
{
InteractionMode = SliderThumbInteractionMode.Lock,
Value = new DateTime(2009, 8, 1)
};
xamSliderDateTimeThumb datetimeRangeThumb3 = new XamSliderDateTimeThumb
{
InteractionMode = SliderThumbInteractionMode.Push,
Value = new DateTime(2009, 12, 1)
};
this.xamDateTimeRangeSlider1.Thumbs.Add(datetimeRangeThumb1);
this.xamDateTimeRangeSlider1.Thumbs.Add(datetimeRangeThumb2);
this.xamDateTimeRangeSlider1.Thumbs.Add(datetimeRangeThumb3);
...