バージョン

選択と展開の構成 (XamDoughnutChart)

トピックの概要

目的

このトピックでは、XamDoughnutChart のスライスの選択および展開を構成する方法を説明します。

前提条件

本トピックの理解を深めるために、以下のトピックを参照することをお勧めします。

トピック 目的

このトピックは、 XamDoughnutChart コントロールおよびその主要機能の概要を説明します。

このトピックではコード例を使用して、XamDoughnutChart コントロールを WPF アプリケーションに追加する方法を説明します。

スライス選択構成のサマリー

コントロール構成の要点チャート

以下の表に、 XamDoughnutChart コントロールの、スライスの選択に関して構成可能な項目の一覧を示します。

構成可能な項目 詳細 プロパティ/イベント

スライス選択の有効化/無効化

スライスを選択する機能を有効または無効にできます。

選択済みスライスの見た目の構成

SliceTargetType で スタイルを定義し、 XamDoughnutChartSelectedStyle プロパティに割り当てることで選択されたスライスがどのように見えるかを定義できます。

スライスのクリック時の選択状態の変更

SliceClick イベント用イベント ハンドラーをアタッチする場合、選択状態を修正可能なイベント引数でクリックされたスライスへの参照を提供します。

IsSelected プロパティの設定

XamDoughnutChart は、IsSelected プロパティを直接修正できるすべてのスライスへの参照を保持します。

SelectedSlices コレクションのコンテンツの修正

SelectedSlices コレクションのコンテンツを変更することにより選択されたスライスを変更できます。

スライス選択の有効化 / 無効化

概要

XamDoughnutChart でスライス選択を有効 (デフォルト設定) または無効にできます。

Note
注:

このトピックで残っているスライス選択構成のすべてをスライス選択を有効にして実行します。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するプロパティ: 設定の選択肢:

スライス選択の有効化/無効化

True または False

選択済みスライスの見た目の構成

概要

XamDoughnutChart は、選択されたスライスの見た目を決定する SelectedStyle プロパティを公開します。デフォルトでは、適用されるスタイルはありません。スライスを選択しても、その見た目はどのようにも変わりません。独自のスタイルを選択されたスライスに適用すると、 SliceTargetType を持つ Style を定義して、 SelectedStyle プロパティの値として設定する必要があります。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するプロパティ: 設定の選択肢:

選択済みスライスの見た目の構成

SliceTargetType を持つStyle

以下のスクリーンショットは、以下の設定結果として XamDoughnutChart の選択されたスライス (一番上のスライス) がどのように見えるかが示されます。

プロパティ

XAML の場合:

<ig:XamDoughnutChart>
  <ig:XamDoughnutChart.SelectedStyle>
    <Style TargetType="ig:Slice">
      <Setter Property="Background" Value="DarkGray"/>
      <Setter Property="BorderBrush" Value="Black"/>
      <Setter Property="BorderThickness" Value="3"/>
    </Style>
  </ig:XamDoughnutChart.SelectedStyle>
...
XamDoughnutChart Selection Explosion 1.png

スライスのクリック時の選択状態の変更

概要

XamDoughnutChart は、スライスされた選択/非選択状態を変更するために使用する SliceClick イベントを公開します。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するイベント/プロパティ: 手順

IsSelected プロパティを設定します。

SliceClickEventArgs.IsSelected

SliceClickEventArgs の IsSelected プロパティを True または False に設定します。

以下のコード例は、クリック時に選択状態の切り替え方法を示します。

XAML の場合:

<ig:XamDoughnutChart SliceClick="DoughnutSliceClicked">
…

C# の場合:

private void DoughnutSliceClicked(object sender, SliceClickEventArgs e)
{
    e.IsSelected = !e.IsSelected;
}

Visual Basic の場合:

Private Sub DoughnutSliceClicked(sender As Object, e As SliceClickEventArgs)
      e.IsSelected = Not e.IsSelected
End Sub

IsSelected プロパティの設定

概要

XamDoughnutChart は、 Slice オブジェクトへに対し IsSelected プロパティを直接修正できるすべてのスライスへの参照を保持します。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するイベント/プロパティ: 手順

スライスのクリック時の選択状態の変更

SliceIsSelected プロパティを True または False に設定します。

以下のコード例は、 IsSelected プロパティを設定するために、 XamDoughnutChart の最初のスライスへの参照の取得方法を示します。このコードは、特定のリング シリーズをロード後に実行する点にご注意ください。

XAML の場合:

<ig:XamDoughnutChart x:Name="doughnutChart">
    <ig:RingSeries Loaded="SeriesLoaded">
…

C# の場合:

private void SeriesLoaded(object sender,  RoutedEventArgs    e)
{
    var firstSlice = ((RingSeries)this.doughnutChart.Series[0]).Ring.ArcItems[0].SliceItems[0].Slice;
    firstSlice.IsSelected = true;
}

Visual Basic の場合:

Private Sub SeriesLoaded(sender As Object, e As  RoutedEventArgs   )
      Dim firstSlice = DirectCast(Me.doughnutChart.Series(0), RingSeries).Ring.ArcItems(0).SliceItems(0).Slice
      firstSlice.IsSelected = True
End Sub

SelectedSlices コレクションのコンテンツの修正

概要

選択されたスライスは、 XamDoughnutChartSelectedSlices コレクションのコンテンツを修正することでも管理できます。それには、選択して SelectedSlices に追加しようとする 1 つ以上の Slice オブジェクトへの参照を取得しなければなりません。スライスを選択しない場合、コレクションから削除します。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するイベント/プロパティ: 手順

SelectedSlices コレクションのコンテンツを修正します。

SelectedSlices コレクションから各 SliceItem を追加または削除します。

以下のコード例は、 XamDoughnutChart の最初のスライスへの参照を取得し、選択されたスライスでコレクションに追加する方法を示します。項目の削除例も利用できます。このコードは、特定のリング シリーズをロード後に実行する点にご注意ください。

XAML の場合:

<ig:XamDoughnutChart x:Name="doughnutChart">
    <ig:RingSeries Loaded="SeriesLoaded">
…

C# の場合:

private void SeriesLoaded(object sender, RoutedEventArgs e)
{
    var firstSlice = ((RingSeries)this.doughnutChart.Series[0]).Ring.ArcItems[0].SliceItems[0].Slice;     {}; "]
	// 項目を選択します:
	this.doughnutChart.SelectedSlices.Add(3);
    // 項目を選択解除します:
    this.doughnutChart.SelectedSlices.RemoveAt(3);
}

Visual Basic の場合:

Private Sub SeriesLoaded(sender As Object, e As  RoutedEventArgs   )
       Dim firstSlice = DirectCast(Me.doughnutChart.Series(0), RingSeries).Ring.ArcItems(0).SliceItems(0).Slice
 ' 項目を選択します:
Me.doughnutChart.SelectedSlices.Add(firstSlice)
 ' 項目を選択解除します:
       Me.doughnutChart.SelectedSlices.RemoveAt(0)
End Sub

スライス展開構成のサマリー

コントロール構成の要点チャート

以下の表に、 XamDoughnutChart コントロールの、スライスの展開に関して構成可能な項目の一覧を示します。

構成可能な項目 詳細 プロパティ/イベント

スライス展開の有効化/無効化

スライスを展開する機能を有効または無効にできます。

スライスのクリック時にスライスの展開状態を変更

SliceClick イベント用イベント ハンドラーをアタッチする場合、イベント引数でクリックされたスライスへの参照を提供するので、展開状態を修正できます。

IsExploded プロパティの設定

XamDoughnutChart は、 IsExploded プロパティを直接修正できるすべてのスライスへの参照を保持します。

ExplodedSlices コレクションのコンテンツの修正

ExplodedSlices コレクションのコンテンツを変更することにより展開されたスライスを変更できます。

スライス展開の有効化 / 無効化

概要

XamDoughnutChart でスライス展開を有効 (デフォルト設定) または無効にできます。

Note
注:

このトピックで残っているスライス展開構成のすべてをスライス展開を有効にして実行します。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するプロパティ: 設定の選択肢:

スライス展開の有効化/無効化

True または False

以下のスクリーンショットは、1 つのスライスが展開された XamDoughnutChart を示します。

XamDoughnutChart Selection Explosion 2.png

スライスのクリック時の展開状態の変更

概要

XamDoughnutChart は、スライスが展開されるかどうかを変更するために使用する SliceClick イベントを公開します。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するイベント/プロパティ: 手順

IsExploded プロパティの設定

SliceClickEventArgs.IsExploded

SliceClickEventArgs の IsExploded プロパティを True または False に設定します。

以下のコード例は、クリック時に展開状態の切り替え方法を示します。

XAML の場合:

<ig:XamDoughnutChart SliceClick="DoughnutSliceClicked">
…

C# の場合:

private void DoughnutSliceClicked(object sender,  SliceClickEventArgs e)
{
    e.IsExploded = !e.IsExploded;
}

Visual Basic の場合:

Private Sub DoughnutSliceClicked(sender As Object, e As RoutedEventArgs)
      e.IsExploded = Not e.IsExploded
End Sub

IsExploded プロパティの設定

概要

XamDoughnutChart は、スライスが展開されるかどうかを変更するために使用する SliceClick イベントを公開します。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するイベント/プロパティ: 手順

スライスのクリック時の展開状態を変更します。

SliceIsExploded プロパティを True または False に設定します。

以下のコード例は、 IsExploded プロパティを設定するために、 XamDoughnutChart の最初のスライスへの参照の取得方法を示します。このコードは、特定のリング シリーズをロード後に実行する点にご注意ください。

XAML の場合:

<ig:XamDoughnutChart x:Name="doughnutChart">
    <ig:RingSeries Loaded="SeriesLoaded">
	…
	</ig:RingSeries>
…
</ig:XamDoughnutChart>

C# の場合:

private void SeriesLoaded(object sender, RoutedEventArgs e)
{
    var firstSlice = ((RingSeries)this.doughnutChart.Series[0]).Ring.ArcItems[0].SliceItems[0].Slice;
    firstSlice.IsExploded = true;
}

Visual Basic の場合:

Private Sub SeriesLoaded(sender As Object, e As RoutedEventArgs)
      Dim firstSlice = DirectCast(Me.doughnutChart.Series(0), RingSeries).Ring.ArcItems(0).SliceItems(0).Slice
      firstSlice.IsExploded = True
End Sub

ExplodedSlices コレクションのコンテンツの修正

概要

展開されたスライスは、 XamDoughnutChartExplodedSlices コレクションのコンテンツを修正することでも管理できます。それには、展開して ExplodedSlices に追加しようとする 1 つ以上の Slice オブジェクトへの参照を取得しなければなりません。スライスの非展開状態を設定しない場合、コレクションから削除します。

プロパティ設定

以下の表は、要求ビヘイビアーをプロパティ設定にマップしています。

目的: 使用するイベント/プロパティ: 手順

ExplodedSlices コレクションのコンテンツを修正します。

ExplodedSlices コレクションから各 SliceItem を追加または削除します。

以下のコード例は、 XamDoughnutChart の最初のスライスへの参照を取得し、展開されたスライスでコレクションに追加する方法を示します。項目の削除例も利用できます。このコードは、特定のリング シリーズをロード後に実行する点にご注意ください。

XAML の場合:

<ig:XamDoughnutChart x:Name="doughnutChart">
    <ig:RingSeries Loaded="SeriesLoaded">
	…
	</ig:RingSeries>
…
</ig:XamDoughnutChart>

C# の場合:

private void SeriesLoaded(object sender, RoutedEventArgs e)
{
    var firstSlice = ((RingSeries)this.doughnutChart.Series[0]).Ring.ArcItems[0].SliceItems[0].Slice;
	// 項目を展開します:
	this.doughnutChart.ExplodedSlices.Add(firstSlice);
    // 項目の展開を解除します:
    this.doughnutChart.ExplodedSlices.RemoveAt(0);
}

Visual Basic の場合:

Private Sub SeriesLoaded(sender As Object, e As RoutedEventArgs)
     Dim firstSlice = DirectCast(Me.doughnutChart.Series(0), RingSeries).Ring.ArcItems(0).SliceItems(0).Slice
	' 項目を展開します:
	Me.doughnutChart.ExplodedSlices.Add(firstSlice)
	' 項目の展開を解除します:
    Me.doughnutChart.ExplodedSlices.RemoveAt(0)
End Sub