Silverlight 在图表中显示带值的文本块

Silverlight 在图表中显示带值的文本块,silverlight,styles,controltemplate,data-visualization,silverlight-5.0,Silverlight,Styles,Controltemplate,Data Visualization,Silverlight 5.0,我正在为silverlight 5使用数据可视化。和堆叠的100bar系列。 我希望每组的计数显示在颜色前面,如下图所示。默认情况下,它显示在工具提示上。 我该怎么做 XAML: 代码隐藏: public partial class Page1 : Page { public IEnumerable<Pet> CheckupsQ1 { get; private set; } public IEnumerable<Pet> CheckupsQ2 {

我正在为silverlight 5使用数据可视化。和堆叠的100bar系列。 我希望每组的计数显示在颜色前面,如下图所示。默认情况下,它显示在工具提示上。 我该怎么做

XAML:


代码隐藏:

 public partial class Page1 : Page
{
    public IEnumerable<Pet> CheckupsQ1 { get; private set; }
    public IEnumerable<Pet> CheckupsQ2 { get; private set; }
    public IEnumerable<Pet> CheckupsQ3 { get; private set; }
    public IEnumerable<Pet> CheckupsQ4 { get; private set; }

    public Page1()
    {
        CheckupsQ1 = new Pet[] { new Pet { Species = "Dog", Count = 20 } };
        CheckupsQ2 = new Pet[] { new Pet { Species = "Dog", Count = 20 } };
        CheckupsQ3 = new Pet[] { new Pet { Species = "Dog", Count = 20 } };
        CheckupsQ4 = new Pet[] { new Pet { Species = "Dog", Count = 20 } };

        InitializeComponent();

        DataContext = this;

    }
}
公共部分类第1页:第
{
public IEnumerable CheckupsQ1{get;private set;}
public IEnumerable CheckupsQ2{get;private set;}
public IEnumerable CheckupsQ3{get;private set;}
public IEnumerable CheckupsQ4{get;private set;}
公共页1()
{
CheckupsQ1=新宠物[]{新宠物{Species=“Dog”,Count=20};
CheckupsQ2=新宠物[]{新宠物{Species=“Dog”,Count=20};
CheckupsQ3=新宠物[]{新宠物{Species=“Dog”,Count=20};
CheckupsQ4=新宠物[]{新宠物{Species=“Dog”,Count=20};
初始化组件();
DataContext=this;
}
}
好的,我解决了

使用Expression blend,我编辑了图表模板,这是实现这一神奇功能的xaml

(请特别注意带有格式化DependentValue的行):


这一问题在2009年Delay的WPF博客上得到了回答:
 public partial class Page1 : Page
{
    public IEnumerable<Pet> CheckupsQ1 { get; private set; }
    public IEnumerable<Pet> CheckupsQ2 { get; private set; }
    public IEnumerable<Pet> CheckupsQ3 { get; private set; }
    public IEnumerable<Pet> CheckupsQ4 { get; private set; }

    public Page1()
    {
        CheckupsQ1 = new Pet[] { new Pet { Species = "Dog", Count = 20 } };
        CheckupsQ2 = new Pet[] { new Pet { Species = "Dog", Count = 20 } };
        CheckupsQ3 = new Pet[] { new Pet { Species = "Dog", Count = 20 } };
        CheckupsQ4 = new Pet[] { new Pet { Species = "Dog", Count = 20 } };

        InitializeComponent();

        DataContext = this;

    }
}
  <Style x:Key="@DataPointStyle" TargetType="toolkit:BarDataPoint">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="toolkit:BarDataPoint">
                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"
                                x:Name="Root" Margin="0,5,0,5">
                        <Border.Effect>
                            <DropShadowEffect Opacity="0.25" ShadowDepth="1.5" Direction="300"/>
                        </Border.Effect>
                        <Grid Background="{TemplateBinding Background}">
                            <TextBlock Text="{TemplateBinding FormattedDependentValue}" 
                                       FontSize="13"  VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        </Grid>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>