可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了,

尤其是在开发时间比较紧的情况下。这时候有必要借助一种专业的图表工具。

Visifire 是专为WPF、SliverLight、WP开发人员制定的一套图表控件,实现了一系列的专业图表(如:柱图、点图、雷达、饼图、K线图、以及其组合图等)。

它在4.5版本前都是实验阶段,而且是免费的....所以赢得了大部开发人员的青睐。

然而在2011年后该公司推出的所有版本都开始收费了,这令许多开发人员忘而却步...我也是其中之一。

如果想继续使用免费版本,那么就不得不对其下的两个Dll进行反编译...就像其它一般的破解方法一样或者利用WPF的独特性对其进行控制。

方法一.反编译,找到水印的输出入口,并屏蔽它:

步骤A: 利用Reflector、Reflexil等工具找到装载水印的对象[WPFVisifire.Charts,]->[VisifireControl-> CreateWmElement->]

this._wMElement.Text = text;//将屏蔽

步骤B: 利用Reflector、Reflexil等工具找到装载水印的对象[WPFVisifire.Gauges,]->[VisifireControl-> CreateWmElement->]

this._wMElement.Text = text;//将屏蔽

步骤C: 再利用Reflexil重新编译。

方法二.代码控制:

找到水印的输出对象wMElement,将其Visibity设置为Collapsed

this._waterBlock = GetChildObject<TextBlock>(this, "Watermark");
                 if (this._waterBlock.Tag.ToString() == "Watermark")
                {
                    this._waterBlock.Text = string.Empty;
                    this._waterBlock.Visibility = System.Windows.Visibility.Collapsed; 
                }

方法三.样式控制:

由于出现的水印叫Visifire Trial Edition,所以可以将系统中出现的所有该字符对象隐藏

<Application.Resources>
             <Style TargetType="TextBlock">
             <Setter Property="Visibility" Value="Visible" />
              <Style.Triggers>
                <Trigger Property="Text" Value="Visifire Trial Edition">
                    <Trigger.Setters>
                        <Setter Property="Visibility"  Value="Collapsed"></Setter>
                    </Trigger.Setters>
                </Trigger>
              </Style.Triggers>
            </Style>
           </Application.Resources>

再发个图:

Visifire For WPF 图表控件 如何免费的更多相关文章

  1. 一款开源免费的WPF图表控件ModernuiCharts

    一款简洁好看的Chart控件  支持WPF.silverlight.Windows8  ,基本够用,主要是开源免费的.(商业控件ComponentOne for WPF要4w多呢) This proj ...

  2. WPF 图表控件之曲线绘制与移动

    目的:绘制简单轻量级的曲线视图 二.实现效果: 1,绘制标准基准线 2,可拖动 三.用到控件 1,Canvas 2,Ellipse XAML代码: <Canvas Background=&quo ...

  3. WPF Visifire 图表控件

    Visifire WPF 图表控件 破解 可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了, 尤其是在开发时间比较紧的情况下.这 ...

  4. 图表控件FlowChart.NET详细介绍及免费下载地址

    FlowChart.NET是一款专业的.NET平台下的流程图及图表控件,它可以运行在任何C#, VB.NET或Delphi.NET语言编写的软件中.能够帮助你创建工作流程图.对象层次和关系图.网络拓扑 ...

  5. 免费使用的图表控件XML/SWF Charts 5.08

    免费使用的图表控件XML/SWF Charts 5.08 http://www.pin5i.com/showtopic-26053.html 10个免费的在线统计图表工具 http://paranim ...

  6. WPF 曲线图表控件(自制)(二)

    原文:WPF 曲线图表控件(自制)(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/koloumi/article/details/775218 ...

  7. WPF 曲线图表控件(自制)(一)

    原文:WPF 曲线图表控件(自制)(一) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/koloumi/article/details/775092 ...

  8. 【WPF】 OxyPlot图表控件学习

    最近在学习OxyPlot图表控件,一些基本的学习心得,在这里记录一下,方便以后进行查找.   一.引用 OxyPlot控件可以直接在VS的 " Nuget " 里面下载   选择: ...

  9. 图表控件Edraw Max免费下载地址

    Edraw Max软件能使学生.老师和商务人士创建并发布各种设计图,它是一个集所有功能于一身的图表控件软件,它可以轻松地创建具有专业外观的流程图.组织结构图.网络图.商业演示图.建筑设计图.思维导图. ...

随机推荐

  1. Python全栈开发:css引入方式

    css的四种引入方式: 1.行内式 行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐使用. <p style="color: red;backgr ...

  2. ThreadLocal简析

    简介 ThreadLocal在Java多线程开发中常见的一个类,在面试中也经见的问题,比如ThreadLocal的作用是什么,ThreadLocal的实现原理是什么等等.ThreadLocal是jav ...

  3. windows下VisualSVN Server搭建

    转自:https://www.cnblogs.com/shuilangyizu/p/10365604.html 使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 ...

  4. Webstorm在MAC下的安装方法

    一 .注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址: http://idea.codebeta.cn (新,感谢Rachels ...

  5. 条件渲染v-if

    <!DOCTYPE html> <html lang="zh"> <head> <title></title> < ...

  6. elasticsearch 过滤器的种类

    elasticsearch之查询过滤 elasticsearch elastic-search xixicat 2月13日发布 推荐 1 推荐 收藏 2 收藏,289 浏览 序 本文主要记录es的查询 ...

  7. Leetcode962. Maximum Width最大宽度坡 Ramp

    给定一个整数数组 A,坡是元组 (i, j),其中  i < j 且 A[i] <= A[j].这样的坡的宽度为 j - i. 找出 A 中的坡的最大宽度,如果不存在,返回 0 . 示例 ...

  8. Gym - 100543L

    Gym - 100543Lhttps://vjudge.net/problem/153854/origin区间dp,要从区间长度为1开始dp #include<iostream> #inc ...

  9. NOIP2016提高A组 A题 礼物—概率状压dp

    题目描述 夏川的生日就要到了.作为夏川形式上的男朋友,季堂打算给夏川买一些生 日礼物. 商店里一共有n种礼物.夏川每得到一种礼物,就会获得相应喜悦值Wi(每种礼物的喜悦值不能重复获得). 每次,店员会 ...

  10. [转]模块化——Common规范及Node模块实现(二)

    模块的循环加载 如果发生模块的循环加载,即A加载B,B又加载A,则B将加载A的不完整版本. // a.js exports.x = 'a1'; console.log('a.js ', require ...