0

グラフのデータ ポイントの位置にラベルを追加したいと考えています。たとえば、縦棒グラフでは、各縦棒の上部にラベルが表示されます。

これをプログラムで行う必要があり、ラベルはチャートの軸のラベルとは異なる必要があります。たとえば、ポイントをグラフ化するためのデータを提供する KeyValuePair[] に加えて、グラフのラベルを提供する別の配列が必要です。また、XAML ではなく、これを動的に行う必要があります。

現在、SQL クエリを使用してグラフのデータを作成しています。理想的には、SQL クエリの 3 行目を使用してグラフ ラベルを設定したいと考えています。

4

1 に答える 1

0

さて、私はそれを理解しました。独立した値とラベルのディクショナリを作成し、それをウィンドウの DataContext として設定し、ディクショナリを使用してラベルをマップするために依存値を使用する IValueConverter でテキスト ボックスをそれにバインドしました。

<TextBlock
            x:Name="textBox"
            Text="{Binding Key, Converter={StaticResource annotationsConverter}}"
            FontWeight="Bold"
            Margin="2"
            TextWrapping="Wrap"/>

public class myAnnotationsConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (MainWindow.annotations != null)
        {
            try
            {
                return MainWindow.annotations[value as string];
            }
            catch (KeyNotFoundException e)
            {
                return "NULL";
            }

        }
        throw new NotFiniteNumberException();
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotFiniteNumberException();
    }
}

考えられる改善: カテゴリ軸のカテゴリごとに複数の列をサポートします。したがって、2007 年 6 月に 3 つのバーがある場合、それらすべてに個別のラベルを付けます。

于 2013-06-27T13:30:03.037 に答える