18037898230 发表于 2017-6-27 17:13:36

Char鼠标移动事件

现在图一上添加一个样式,鼠标移至相关的柱就会在那个柱外添加一个边框如图二

18037898230 发表于 2017-6-27 17:14:33

图二的那个红色的样式是怎么实现的

JeffryLI 发表于 2017-6-27 17:45:45

您好,您的意思是想在柱状图上实现,鼠标hover柱时,该柱增加红色边框线,是这个意思吗?

18037898230 发表于 2017-6-27 17:51:38

JeffryLI 发表于 2017-6-27 17:45
您好,您的意思是想在柱状图上实现,鼠标hover柱时,该柱增加红色边框线,是这个意思吗?

是的是的

JeffryLI 发表于 2017-6-27 18:03:40

您好,这个是可以的,但是需要你添加部分代码;
以下示例演示如何创建一个样式,该样式设置一个PlotElement的Stroke属性的值为Black
<Window.Resources>
   ...
   <Style x:Key="mouseOver" TargetType="{x:Type c1c:PlotElement}">
          <!-- 默认黑色轮廓 -->         
          <Setter Property="Stroke" Value="Black" />
          <Style.Triggers>
          <!-- 当鼠标悬停在元素**时,使其显示粗的红色外框   -->
               <Trigger Property="IsMouseOver" Value="true">
                        <Setter Property="Stroke" Value="Red" />
                        <Setter Property="StrokeThickness" Value="3" />
                        <Setter Property="Canvas.ZIndex" Value="1" />”
               </Trigger>
          </Style.Triggers>
   </Style>
</Window.Resources>
当设置您为PlotElement类型的样式的TargetType属性时,如果不给您的样式分配一个x:Key,则该样式将应用到全部的PlotElement元素。
为了应用鼠标悬停样式至数据系列,您可以使用SymbolStyle(在线文档 'SymbolStyle 属性')属性,如下所示:
<c1c:DataSeries … SymbolStyle="{StaticResource mouseOver}"/>

18037898230 发表于 2017-6-27 18:24:04

JeffryLI 发表于 2017-6-27 18:03
您好,这个是可以的,但是需要你添加部分代码;
以下示例演示如何创建一个样式,该样式设置一个PlotElement ...

好的,效果已经出来了,不过如果把默认的轮廓给取消了,为什么红色的就显示不出来了呢,鼠标经过的时候只是有了一个动态效果

JeffryLI 发表于 2017-6-27 18:25:57

本帖最后由 JeffryLI 于 2017-6-27 18:30 编辑

您好,红色是基于原有轮廓画的,如果取消默认轮廓,渲染的时候找不到基本元素就无法渲染。

18037898230 发表于 2017-6-27 18:28:39

JeffryLI 发表于 2017-6-27 18:25
您好,红色是基于原有轮廓画的,如果取消默认轮廓,渲染的时候找到基本元素就无法渲染。

哦哦,知道了,想再问一个问题,就是饼形图里面每个切片的偏移量是怎么控制的呢?

JeffryLI 发表于 2017-6-28 09:39:01

您好,设置饼图的偏移量请参照如下代码:
chart.DataContext = new double[] { 1, 2, 3 };
      chart.ChartType = ChartType.Pie;
      chart.Loaded += (s, e) => ((BasePieRenderer)chart.Data.Renderer).Offset = 0.1;

18037898230 发表于 2017-6-28 09:41:34

JeffryLI 发表于 2017-6-28 09:39
您好,设置饼图的偏移量请参照如下代码:
chart.DataContext = new double[] { 1, 2, 3 };
      chart.C ...

你好,这句代码我试了饼图没动
页: [1] 2
查看完整版本: Char鼠标移动事件