MagSpirit 发表于 2019-10-9 09:28:34

C1Chart图标签显示百分比

C1chart柱状图想设置标签为百分比,如何操作?目前做出的效果如下-->


前台代码:
<local:ChartPointConverter x:Key="pc"/>
<DataTemplate x:Key="cake">
   <Grid c1:PlotElement.LabelAlignment="TopCenter">
          <TextBlock FontSize="10" Margin="0,0,0,-20" Foreground="DarkRed" Text="{Binding Converter={StaticResource pc}}" />
   </Grid>
      </DataTemplate>
                        <c1:C1ChartMargin="0,20,0,0" x:Name="cakeChart" Grid.Row="0"ChartType="ColumnStacked">
                        </c1:C1Chart>后台代码:
DataTemplate tipTop = (DataTemplate)Resources["cake"];
            this.cakeChart.Data.Children.PointLabelTemplate = tipTop;

想实现的效果如下-->

Richard.Ma 发表于 2019-10-9 12:12:22

给具体的数值设置格式即可,设置的方式是给数值后加“:p0”
比如Value: \{#Value:p2\}
显示的效果就是

MagSpirit 发表于 2019-10-9 15:27:37

本帖最后由 MagSpirit 于 2019-10-9 15:30 编辑

Richard.Ma 发表于 2019-10-9 12:12
给具体的数值设置格式即可,设置的方式是给数值后加“:p0”
比如
显示的效果就是
你好,我这样写着没有效果,代码如下,和您说的一样,数值后加了P0前台xaml代码-->
<local:ChartPointConverter x:Key="pc"/>
<DataTemplate x:Key="rate">
   <Grid c1:PlotElement.LabelAlignment="TopCenter">
          <TextBlock FontSize="10" Margin="0,0,0,-20" Foreground="DarkRed" Text="{Binding ConverterParameter=<font color="#ff0000">Value: \{#Value:p0\</font>},Converter={StaticResource pc}}" />
   </Grid>
      </DataTemplate>后台xaml.cs代码-->
DataTemplate tipTop = (DataTemplate)Resources["rate"];
            this.rateChart.Data.Children.PointLabelTemplate = tipTop;
出来后没有效果-->

Richard.Ma 发表于 2019-10-9 17:49:51

建议您将代码项目上传上来,我帮您修改

MagSpirit 发表于 2019-10-10 09:26:24

Richard.Ma 发表于 2019-10-9 17:49
建议您将代码项目上传上来,我帮您修改

您好,附件是我的项目代码,您看看如何显示成百分比

Richard.Ma 发表于 2019-10-10 17:33:41

无法打开你这边的项目,按照你的代码,你可以先尝试这样设置

<TextBlock FontSize="10" Margin="0,0,0,-20" Foreground="DarkRed" Text="{Binding Converter={StaticResource pc}:p}" />
页: [1]
查看完整版本: C1Chart图标签显示百分比