バージョン 24.2 (最新)

XamSparkline データ バインディング

トピックの概要

目的

このトピックは、コード例を示して、 XamSparkline™ コントロールをデータにバインドする方法を説明します。

前提条件

以下の表に、このトピックを理解するための前提条件として求められるトピックをリストします。

トピック 目的

このトピックは、 XamSparkline コントロールの概要、その利点、およびサポートされるチャート タイプを提供します。

データ バインディング - 概念的概要

概要

XamSparkline コントロールには、一次元データが必要です。データ セットには少なくとも 2 つの 数値 フィールドを含む必要があります。これらのデータ型要件を満たしていない場合、 XamSparkline は空のチャートを描画します (エラーは返しません)。データ ソース フィールドのテキストを使用して、X 軸の最初と最後のラベルを表示できます。

最低要件として XamSparkline では、コントロールをデータ コレクションのインスタンスにバインドする ItemSource プロパティと、どのデータを表示するか特定する ValueMemberPath プロパティが必要です。

プロパティ設定

以下の表は、データ バインディング プロパティ設定をリストしています。

プロパティ名 プロパティ設定

ItemsSource

{Binding Source={StaticResource resource key name}}

ValueMemberPath

field name

コード例: データ バインディング

説明

以下のコードはデータ バインディングを示します。

XAML の場合:

<UserControl
    xmlns:igSparkline="http://schemas.infragistics.com/xaml"
    xmlns:local="clr-namespace:SparklineDemo">
    <UserControl.Resources>
        <local:TestData x:Key="testdata"/>
    </UserControl.Resources>
     <igSparkline:XamSparkline
          Name="XamSparkline1"
         ItemsSource="{Binding Source={StaticResource testdata}}"
         ValueMemberPath="Value"/>

C# の場合:

this.XamSparkline1.ItemsSource = new TestData();

Visual Basic の場合:

Me.XamSparkline1.ItemsSource = New TestData()

C# の場合:

public class TestData : ObservableCollection<TestDataItem>
    {
        public TestData()
        {
           Add(new TestDataItem { Label = "Label1", Value = 1 });
           Add(new TestDataItem { Label = "Label2", Value = 2 });
           Add(new TestDataItem { Label = "Label3", Value = 3 });
           Add(new TestDataItem { Label = "Label4", Value = -4 });
           Add(new TestDataItem { Label = "Label5", Value = 5 });
           Add(new TestDataItem { Label = "Label6", Value = -6 });
           Add(new TestDataItem { Label = "Label7", Value = 7 });
           Add(new TestDataItem { Label = "Label8", Value = 8 });
           Add(new TestDataItem { Label = "Label9", Value = 9 });
        }
    }
public class TestDataItem : INotifyPropertyChanged
    {
        private string _label;
        public string Label
        {
            get { return _label; }
            set { _label = value; RaisePropertyChanged("Label"); }
        }
        private double? _value;
        public double? Value
        {
            get { return _value; }
            set { _value = value; RaisePropertyChanged("Value"); }
        }
        private void RaisePropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new   PropertyChangedEventArgs(propertyName));
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;
    }

Visual Basic の場合:

Public Class TestData
   Inherits ObservableCollection(Of TestDataItem)
      Public Sub New()
      Add(New TestDataItem() With {.Label = "Label1", .Value = 1})
      Add(New TestDataItem() With {.Label = "Label2", .Value = 2})
      Add(New TestDataItem() With {.Label = "Label3", .Value = 3})
      Add(New TestDataItem() With {.Label = "Label4", .Value = -4})
      Add(New TestDataItem() With {.Label = "Label5", .Value = 5})
      Add(New TestDataItem() With {.Label = "Label6", .Value = -6})
      Add(New TestDataItem() With {.Label = "Label7", .Value = 7})
      Add(New TestDataItem() With {.Label = "Label8", .Value = 8})
      Add(New TestDataItem() With {.Label = "Label9", .Value = 9})
   End Sub
End Class
Public Class TestDataItem
      Implements INotifyPropertyChanged
      Private _label As String
      Public Property Label() As String
            Get
                  Return _label
            End Get
            Set
                  _label = value
                  RaisePropertyChanged("Label")
            End Set
      End Property
      Private _value As System.Nullable(Of Double)
      Public Property Value() As System.Nullable(Of Double)
            Get
                  Return _value
            End Get
            Set
                  _value = value
                  RaisePropertyChanged("Value")
            End Set
      End Property
      Private Sub RaisePropertyChanged(propertyName As String)
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
      End Sub
      Public Event PropertyChanged As PropertyChangedEventHandler
End Class

関連コンテンツ

トピック

以下のトピックでは、このトピックに関連する情報を提供しています。

トピック 目的

このトピックは、 XamSparkline コントロールの概要、その利点、およびサポートされるチャート タイプを提供します。

このトピックは、 XamSparkline コントロールを構成するあらゆる方法の概要について説明します。構成の詳細情報へのリンク (別のトピックで参照可能) も記載されています。

このトピックは、 XamSparkline コントロールの主なプロパティを説明します。