找回密码
 立即注册

QQ登录

只需一步,快速开始

MagSpirit

注册会员

6

主题

10

帖子

150

积分

注册会员

积分
150
MagSpirit
注册会员   /  发表于:2019-9-29 15:26  /   查看:4672  /  回复:2
1金币
silverlight中C1Chart Bar图添加标签,显示位置不是想要的
如下图是我做的-->


现在想要数字标签变成这样(图中红框圈出来)-->


我的代码如下:
前台:
  1. <local:ChartPointConverter x:Key="pc"/>
  2.         <DataTemplate x:Key="tip">
  3.       <TextBlock FontSize="10"  Margin="1,1,1,20" Foreground="Black"  Text="{Binding Converter={StaticResource pc}}" />
  4.         </DataTemplate>
复制代码
ChartPointConverter:
  1. public class ChartPointConverter : IValueConverter
  2.     {
  3.       public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  4.       {
  5.             DataPoint point = value as DataPoint;
  6.             if (point != null)
  7.             {
  8.                   try
  9.                   {
  10.                         object retStr = "";
  11.                         retStr = point.Value == 0 ? "" : point.Value.ToString();
  12.                         return retStr;
  13.                   }
  14.                   catch (FormatException)
  15.                   {
  16.                   }
  17.             }
  18.             return value;
  19.        }

  20.        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  21.       {
  22.             throw new NotImplementedException();
  23.       }
  24. }
复制代码
后台xaml.cs代码:
  1. ///设置Chart图标签
  2.             DataTemplate Tip = (DataTemplate)Resources["tip"];
  3.             chart.Data.Children[0].PointLabelTemplate = Tip;
  4.             chart.Data.Children[1].PointLabelTemplate = Tip;
  5.             chart.Data.Children[2].PointLabelTemplate = Tip;
复制代码
求教

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

帮您验证了一下,可以用下面的代码,关键代码是c1chartlotElement.LabelAlignment="MiddleRight"[/backcolor]

2 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-29 15:26:27
来自 3#
本帖最后由 Richard.Ma 于 2019-9-30 11:19 编辑

帮您验证了一下,可以用下面的代码,关键代码是c1chartlotElement.LabelAlignment="MiddleRight"

  1.         <DataTemplate x:Key="lbl">
  2.             <Grid c1chart:PlotElement.LabelAlignment="MiddleRight">
  3.                         <TextBlock FontSize="10" Margin="-40 5 5 5" Foreground="DarkRed" Text="{Binding ConverterParameter=Value: \{#Value\}, Converter={StaticResource fc}}" />
  4.                         </Grid>
  5.         </DataTemplate>
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-29 17:50:56
2#
可以重现您的问题,这个需要验证一下,明天早上给您反馈结果
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部