このトピックは、ItemLegend を使用するために XamPieChart™ の構成する情報を提供します。
前提条件として「データ バインディング」トピックを呼んだ、データにバインドされる円チャートを作成しました。
XamPieChart の隣に凡例を表示するには、ItemLegend を作成し、Legend プロパティに割り当てます。 LegendLabelMemberPath は、各円スライスの凡例項目を表示するために使用するデータ モデルのプロパティを指定します。
また、凡例項目の外観をカスタマイズするために LegendItemTemplate および LegendItemBadgeTemplate、 ItemLegend の複数のフォント プロパティも使用できます。凡例項目の外観に影響するプロパティのリストは以下です。
XAML の場合:
<Grid x:Name="RootLayout"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <ig:XamPieChart x:Name="pieChart" Grid.Column="1" ItemsSource="{Binding Path=EnergyData}" ValueMemberPath="Coal" LabelMemberPath="CountryAbbreviation" Legend="{Binding ElementName=itemLegend1}"> <ig:XamPieChart.LegendItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Margin="1" Visibility="{Binding Series.Visibility}"> <ContentPresenter Content="{Binding}" ContentTemplate="{Binding Series.LegendItemBadgeTemplate}"/> <TextBlock Text="{Binding Path=Item.Country}" Foreground="{Binding Series.Legend.ItemsForeground}" FontStretch="{Binding Series.Legend.ItemsFontStretch}" FontStyle="Italic" FontWeight="Bold" FontSize="16" FontFamily="MS Arial"/> </StackPanel> </DataTemplate> </ig:XamPieChart.LegendItemTemplate> </ig:XamPieChart> <ig:ItemLegend x:Name="itemLegend1" Grid.Column="0"/> </Grid>
C# の場合:
// Get the DataTemplate from where ever you have it defined. DataTemplate customLegendItemTemplate = this.Resources["CustomLegendItemTemplate"] as DataTemplate; ItemLegend legend = new ItemLegend(); XamPieChart pieChart = new XamPieChart(); pieChart.ItemsSource = EnergyData; pieChart.ValueMemberPath = "Coal"; pieChart.LabelMemberPath = "CountryAbbreviation"; pieChart.LegendItemTemplate = customLegendItemTemplate; pieChart.Legend = legend;
Visual Basic の場合:
'Get the DataTemplate from where ever you have it defined. Dim customLegendItemTemplate As DataTemplate customLegendItemTemplate = TryCast(Me.FindResource("CustomLegendItemTemplate"), DataTemplate) Dim legend As New ItemLegend() Dim pieChart As New XamPieChart() pieChart.ItemsSource = EnergyData pieChart.ValueMemberPath = "Coal" pieChart.LabelMemberPath = "CountryAbbreviation" pieChart.LegendItemTemplate = customLegendItemTemplate; pieChart.Legend = legend