可能用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>
再發個圖: