バージョン

選択

このトピックでは、XamDataPieChart コントロールの選択機能を有効にして使用する方法について説明します。

このトピックは、以下のセクションで構成されています。

要件

このトピックは、ユーザーがデータ バインディング トピックを既に読んでいることを前提とし、はじめにそのコードを使用します。

選択の概要

XamDataPieChart は、チャートにプロットされたスライスをマウスでクリックしてスライスを選択できる機能をサポートしています。チャートの選択機能のさまざまな側面について、以下に説明します。

選択動作

SelectionBehavior の主な 2 つのオプションは PerDataItemSingleSelectPerDataItemMultiSelect で、それぞれ単一選択と複数選択を有効にします。

選択モード

SelectionMode プロパティは、円チャートのスライスが選択された場合にどのように反応するかを決定します。このプロパティは、SeriesSelectionMode 列挙体によって定義されます。以下はその列挙体のオプションとその機能です。

  • Brighten: 選択したスライスが強調表示されます。

  • FadeOthers: 選択したスライスは同じ色のまま残り、他のスライスは色が薄くなります。

  • FocusColorFill: 選択したスライスの背景が XamDataPieChart コントロールの FocusBrush に変更されます。

  • FocusColorOutline: 選択されたスライスには、XamDataPieChart コントロールの FocusBrush によって定義された色のアウトラインが表示されます。

  • FocusColorThickOutline: 選択されたスライスには、XamDataPieChart コントロールの FocusBrush によって定義された色のアウトラインが表示されます。このアウトラインの太さは、コントロールの Thickness プロパティを使用して設定することもできます。

  • GrayscaleOthers: 選択されていないスライスにはグレー色のフィルターが適用されます。

  • None: 選択されたスライスには影響はありません。

  • SelectionColorFill: 選択されたスライスの背景が XamDataPieChart コントロールの SelectionBrush に変更されます。

  • SelectionColorOutline: 選択されたスライスには、XamDataPieChart コントロールの SelectionBrush によって定義された色のアウトラインが表示されます。

  • SelectionColorThickOutline: 選択されたスライスには、XamDataPieChart コントロールの FocusBrush によって定義された色のアウトラインが表示されます。このアウトラインの太さは、コントロールの Thickness プロパティを使用して設定することもできます。

  • ThickOutline: 選択されたスライスには、XamDataPieChart コントロールの Thickness プロパティに応じて太さが異なるアウトラインが適用されます。

選択イベント

スライスが選択されると、その基になるデータ項目がチャートの SelectedSeriesItems コレクションに追加されます。そのため、XamDataPieChart は SelectedSeriesItemsChanged イベントを公開して、スライスが選択されてこのコレクションが変更されたことを検出します。

コード例

XAML の場合:

<ig:XamDataPieChart ItemsSource="{Binding Data}"
                    SelectionBehavior="PerDataItemMultiSelect"
                    SelectionMode="SelectionColorFill"
                    SelectionBrush="DodgerBlue" />

C# の場合:

XamDataPieChart dataPieChart = new XamDataPieChart()
{
    ItemsSource = data,
    SelectionBehavior = SeriesSelectionBehavior.PerDataItemMultiSelect,
    SelectionMode = SeriesSelectionMode.SelectionColorFill,
    SelectionBrush = Brushes.DodgerBlue
};