FlexChart for UWP
軸スクロールバー
FlexChart > FlexChart の操作 > エンドユーザー操作 > 軸スクロールバー

軸スクロールバーを使用すると、軸の値をスクロールすることで、特定の範囲を選択できます。チャートに大量の値またはデータが存在すると、コンパクトなユーザーインタフェースでは特に、データの解釈が難しくなります。軸スクロールバーは、特定の範囲内にあって関連性の高いデータを容易に解釈できるようにすることで、この問題を解決します。

FlexChart では、主軸(X 軸と Y 軸)と第 2 軸の両方に軸スクロールバーを追加できます。軸に軸スクロールバーを追加するには、C1.Xaml.Chart.Interaction.C1AxisScrollbar クラスのインスタンスを作成する必要があります。

C1AxisScrollbar クラスには、Boolean 値を受け取る ScrollButtonsVisible プロパティがあり、増やすボタンと減らすボタンの表示/非表示を設定できます。スクロールバーの現在の下限値と上限値を設定するには、C1RangeSlider クラスで提供されている LowerValue プロパティと UpperValue プロパティをそれぞれ使用します。下限値と上限値は、スクロールバーがサイズ変更されたり移動されると変化します。LowerValue プロパティと UpperValue プロパティのいずれかが変化すると、C1RangeSlider クラスで提供される ValueChanged イベントが発生します。

次のコードスニペットを参照してください。

<Chart:Axis.Scrollbar>
    <Interaction:C1AxisScrollbar x:Name="axisYScrollbar" 
    Width="30" ScrollButtonsVisible="False"/>
</Chart:Axis.Scrollbar>
C#
コードのコピー
public class AxisScrollbarModel
{
    Random rnd = new Random();

    public List<DataItem> Data
    {
        get
        {
            var pointsCount = rnd.Next(1, 30);
            var pointsList = new List<DataItem>();
            for (DateTime date = new DateTime(DateTime.Now.Year - 3, 1, 1);
                 date.Year < DateTime.Now.Year; date = date.AddDays(1))
            {
                pointsList.Add(new DataItem()
                {
                    Date = date,
                    Series1 = rnd.Next(100)
                });
            }

            return pointsList;
        }
    }

    public string Description
    {
        get
        {
            return Strings.Description;
        }
    }

    public string Title
    {
        get
        {
            return Strings.Title;
        }
    }
}

VB
コードのコピー
Public Class AxisScrollbarModel
    Private rnd As New Random()

    Public ReadOnly Property Data() As List(Of DataItem)
        Get
            Dim pointsCount As Object = rnd.[Next](1, 30)
            Dim pointsList As New List(Of DataItem)()
            Dim [date] As New DateTime(DateTime.Now.Year - 3, 1, 1)
            While [date].Year < DateTime.Now.Year
                pointsList.Add(New DataItem() With {
                    .[date] = [date],
                    .Series1 = rnd.[Next](100)
                })
                [date] = [date].AddDays(1)
            End While

            Return pointsList
        End Get
    End Property

    Public ReadOnly Property Description() As String
        Get
            Return Strings.Description
        End Get
    End Property

    Public ReadOnly Property Title() As String
        Get
            Return Strings.Title
        End Get
    End Property
End Class