C#/wpf的写的界面,使用dynamicdatadisplay绘制的折线图,怎样修改/去掉图例?

CaptainSCH 2016-04-10 11:08:42
代码如下:
<d3:ChartPlotter Name="HeightLineGraph" Grid.Row="3" Grid.Column="0"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
HorizontalAlignment="Center"
VerticalAlignment="Center" LegendVisible="False">
<d3:ChartPlotter.HorizontalAxis>
<d3:HorizontalDateTimeAxis />
</d3:ChartPlotter.HorizontalAxis>
</d3:ChartPlotter>

C#/wpf的写的界面,使用dynamicdatadisplay绘制的折线图,问题出现在:
dynamicdatadisplay 自带的图例挡住了新的数据,所以我想把图例移个位置(比如移到中间),网上有文章提到修改dynamicdisplay的开源代码,这个我也找到了(如下是关于图例的一部分),可是修改后应该怎么加入到我的项目中?请求大神支招
项目中引用dynamicdatadisplay是用了一句xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0",是从网上引用的意思?
<l:LegendItem x:Class="Microsoft.Research.DynamicDataDisplay.LineLegendItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:l="clr-namespace:Microsoft.Research.DynamicDataDisplay"
>
<l:LegendItem.ContentTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,1,0,1"
ToolTip="{Binding Full}">

<Line X1="3" X2="20" Y1="10" Y2="5"
Stroke="{Binding Pen.Brush}"
StrokeThickness="{Binding Pen.Thickness}"/>
<!--StrokeDashArray="{Binding Pen.DashStyle.Dashes}"
StrokeDashOffset="{Binding Pen.DashStyle.Offset}"-->

<TextBlock Text="{Binding Brief}" Margin="5,0,0,0"/>
</StackPanel>
</DataTemplate>
</l:LegendItem.ContentTemplate>
</l:LegendItem>


另外不行的话我想过让图例直接不要显示,但是修改legendvisible属性为false或者是true,都完全没有影响,图例一直会显示,这个又是为什么?
先谢过各位了!
...全文
1532 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43376453 2019-03-18
  • 打赏
  • 举报
回复
我是这么处理的:
在xaml文件里设置资源:
<UserControl.Resources>
<Style TargetType="d3:Legend">
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Bottom"/>
</Style>
</UserControl.Resources>
这样就行了
我是一个浆果 2017-08-06
  • 打赏
  • 举报
回复
@piaoyulengse 可不可以发一份图例改为透明的dll到我的邮箱1203226607@qq.com,非常感谢
ourhouzi 2017-04-18
  • 打赏
  • 举报
回复
1. Legend 类里面有个属性 private bool autoShowAndHide = false 2. ChartPlotter 类里面初始化去掉Legend Children.AddMany( horizontalAxis, verticalAxis, axisGrid, defaultContextMenu, mouseNavigation, keyboardNavigation, horizontalAxisNavigation, verticalAxisNavigation, //legend ); 3. 设置Legend 的位置 LegendBottomProperty 默认Double.NaN LegendRightProperty 默认10.0 LegendLeftProperty 默认Double.NaN LegendTopProperty默认10.0 所以默认是在距离右上角10的位置
fswy 2017-04-17
  • 打赏
  • 举报
回复
请问你怎么修改的DynamicDataDisplay的dll文件啊,求帮助
luoxiaoqunfeitian 2016-09-14
  • 打赏
  • 举报
回复
引用 3 楼 piaoyulengse 的回复:
Clarayeye 你好,我采用的解决办法修改了danamicdatadisplay的dll文件,把图例的背景改为透明色,并去掉了边框,这样就不会挡曲线了
你好,能问一下具体是怎么改的吗?我试了试想得到的方法都没有效果,请求支援!!!
CaptainSCH 2016-06-18
  • 打赏
  • 举报
回复
发了
引用 4 楼 lzycs 的回复:
[quote=引用 3 楼 piaoyulengse 的回复:] Clarayeye 你好,我采用的解决办法修改了danamicdatadisplay的dll文件,把图例的背景改为透明色,并去掉了边框,这样就不会挡曲线了
您好,我正需要,能否发一份图例北京改为透明的dll到我的邮箱1967663029@qq.com,谢谢,[/quote]
lzycs 2016-06-16
  • 打赏
  • 举报
回复
引用 3 楼 piaoyulengse 的回复:
Clarayeye 你好,我采用的解决办法修改了danamicdatadisplay的dll文件,把图例的背景改为透明色,并去掉了边框,这样就不会挡曲线了
您好,我正需要,能否发一份图例北京改为透明的dll到我的邮箱1967663029@qq.com,谢谢,
CaptainSCH 2016-06-16
  • 打赏
  • 举报
回复
Clarayeye 你好,我采用的解决办法修改了danamicdatadisplay的dll文件,把图例的背景改为透明色,并去掉了边框,这样就不会挡曲线了
Clarayeye 2016-05-20
  • 打赏
  • 举报
回复
请问,隐藏图例的问题解决了吗?
ACYION 2016-05-09
  • 打赏
  • 举报
回复
在源代码中有DynamicDataDisplay\sln\DynamicDataDisplay\Debug\bin目录下 有生成的动态库,引用到项目即可

111,088

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧