WPF工具包:使用不同的标签在图表上标记数据点

时间:2013-06-21 14:43:41

标签: c# wpf xaml wpf-controls wpftoolkit

我想在图表上数据点的位置为我的图表添加标签。例如,柱形图在每列的顶部都有一个标签。

我需要以编程方式执行此操作,标签应与图表轴上的标签不同。例如,除了提供用于绘制点图表的数据的KeyValuePair []之外,我还需要另一个为图表提供标签的数组。我还必须动态地执行此操作,而不是在XAML中。

目前,我使用SQL查询创建图表的数据。理想情况下,我想在SQL查询中使用第三行来填充图表标签。

1 个答案:

答案 0 :(得分:0)

好吧我明白了。我创建了一个独立值和标签的字典,将其设置为我的窗口的DataContext,并使用IValueConverter将文本框绑定到它,该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月有三个酒吧,为所有人保留一个独特的标签。