永利最大(官方)网站

WPF曲线图控件

原创|其它|编辑:郝浩|2009-12-31 11:04:31.000|阅读 2677 次

概述:这几天无事,整理了一下最近写的usercontrol,发上来,希望能对大家有所帮助

#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>

这几天无事,整理了一下最近写的usercontrol,发上来,希望能对大家有所帮助

废话不多说了,给大家看下最终效果图

框架Canvas提供给外部

节点Ellipse提供给外部

连接线Path提供给外部

可以修改其背景属性,点属性,线属性 ,提供冒泡时间,鼠标Enter &; Leave事件

提供控件关系映射

 

具体使用方法参照例子

首先引用控件

 

<Window
    
xmlns:shapedrawing="clr-namespace:WpfEToolkits.ShapeDrawings;assembly=WpfEToolkits"
>


<shapedrawing:ShapeDrawing Name="shapedraw" />

 

效果图

 

事件引用

 

代码
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
  &nbsp;         
//控件初始状态保存
            shapedraw.LoadClearTemplate();

           
       &nbsp;&nbsp;   
//控件外部调用事件
&nbsp;           shapedraw.EventDeleMouser += new ShapeDrawing.eDeleMouseOver(shapedraw_EventDeleMouser);
        }

     &nbsp;  
void shapedraw_EventDeleMouser(object sender, MouseEventArgs e)
        {
    &nbsp;       
//鼠标事件实现 e=null 为Mouse_Leave
       &nbsp;    if (e == null)
            {
  &nbsp;             label1.Content&nbsp;
= "";
             &nbsp;  
return;
            }
       &nbsp;   ; syPoRelation spr 
= sender as syPoRelation;
        ;    label1.Content 
= "年龄:"+spr.SyChild.SyX + "岁 重量:"+spr.SyChild.SyY + "g";
        &nbsp;   label1.Content 
+= "\n Control Guid :" + spr.SyGuid.ToString();
        }

 

 

属性构造

 

 

代码
//回滚到初始状态,控件加载时必须得LoadClearTemplate()
            shapedraw.ReLoadClearTemplate();
     &nbsp;  &nbsp;   
// 构造笔刷和标尺、点的属性值,可外部直接设置,false为外部设置,true为默认构造
   &nbsp;        shapedraw.structProperty(true);
          &nbsp; 
//当前点属性 start
   &nbsp;     &nbsp;  shapedraw.CurrDrawEllipse.Visibility = Visibility.Visible;
            shapedraw.CurrDrawEllipse.Stroke 
= Brushes.Blue;
            ;shapedraw.CurrDrawEllipse.Fill 
= Brushes.Blue;
        ;    shapedraw.CurrDrawEllipse.Width 
= 8;
  &nbsp;         shapedraw.CurrDrawEllipse.Height 
= 8;
         ;   
//当前点属性 end
      ; &nbsp;    
//shapedraw.CurrPoDrawing.SyXMarin = 40;
           &nbsp;
//shapedraw.CurrPoDrawing.SyYMarin = 40;
 &nbsp;     &nbsp;    
//当前框架属性 start
       &nbsp;    shapedraw.CurrPoDrawing.SyXName = shapedraw.funStructLable(02010);
   &nbsp;        shapedraw.CurrPoDrawing.SyXValue 
= shapedraw.funStructLable(02010);
  &nbsp;         shapedraw.CurrPoDrawing.SyYName 
= shapedraw.funStructLable(307010);
      ;      shapedraw.CurrPoDrawing.SyYValue 
= shapedraw.funStructLable(307010);
 &nbsp;          
//当前框架属性 end
       &nbsp;    
//设置控件宽高改变动画&nbsp;自动变换,也可直接shapedraw.width &&nbsp;height=n,只是没动画罢了
            shapedraw.funSetHeight(480, test2, 200);//480是值,test2是承载canvas,200是动画时间
     &nbsp;      shapedraw.funSetWight(640, test2, 200);
           &nbsp;
//设置单位字属性
       &nbsp;    shapedraw.CurrTextBlock.Foreground = Brushes.Red;

       &nbsp;  &nbsp; 
//构造方法,3重载,具体重载方法看帮助文档
            shapedraw.structScaleAndLabel(0.10.5);

         &nbsp;  List<syPoChild> al = new List<syPoChild>();
    &nbsp;       
//填充al,可动态填充,之后会根据x轴自动排序
         &nbsp;  #region 数据源填充
   &nbsp;        al.Add(
new syPoChild(8.735));
       ;     al.Add(
new syPoChild(10.660));
    &nbsp;       al.Add(
new syPoChild(8.538));
     &nbsp;      al.Add(
new syPoChild(8.233));
            al.Add(
new syPoChild(9.137));
       &nbsp;    al.Add(
new syPoChild(1042));
     &nbsp;      al.Add(
new syPoChild(9.639));
           &nbsp;
#endregion

     &nbsp;      
//根据构造方法进行填充,其实方式有很多种,这种是最简便的方式进行填充
   &nbsp;        List<List<syPoChild>> syArr = new List<List<syPoChild>>();
            ;
//切源,切除不符合规格的源
        &nbsp;   syArr = shapedraw.funCutSource(al, new Point(0,0), new Point(9940));
&nbsp;           
//syArr =&nbsp;shapedraw.funCutSource(al, 35, 40, "Y");
           &nbsp;foreach (List<syPoChild> all in syArr)
            {
                shapedraw.DrawingNewSource(all);
            }

 

 效果

先这么多吧,把dll放上来,过两天整理整理源码把源码发上来,支持开源哈

下载:

ShapDrawing源码下载:

解压密码:eddysoft


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP
PM娱乐城网络现金网站(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) PM娱乐城最大(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 永利外围最新(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 网络权威朗驰娱乐大全(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 永利真人网上足球(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 利记最火十大网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) boyu·博鱼权威网络足球(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) PM娱乐城网上足球(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新)