Silverlight 在图表中显示带值的文本块
我正在为silverlight 5使用数据可视化。和堆叠的100bar系列。 我希望每组的计数显示在颜色前面,如下图所示。默认情况下,它显示在工具提示上。 我该怎么做 XAML: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 {
代码隐藏:
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>