Silverlight Visifire 5.0.4 完美去水印

       最近在使用Visifire 进行silverlight开发,官网上下载的是有水印的,而网上找到的破解版是4.5.5,并且有一个重大的问题,就是StackedColumn100会不正常显示(无法堆积)。于是考虑去掉高版本的水印。

       水印分两部分,一个是右上角的水印;另外一个是开始运行之后,上边出现的橘黄色的水印

如上图,下面分别去掉两个水印:

        首先是去掉右上角的水印:

这个参考网上的方法,创建一个类,重写LoadWm()方法


    public class MyChart : Chart
    {
        protected override void LoadWm()
        {

        }


        public MyChart ()
        {

        }
    }

这样,右上的水印就去掉了,但是运行的时候上边的水印依然会出现,下边是解决办法:

        public void CreateChart()  
        {
            Chart chart = new MyChart();
            chart.Width = 200;
            chart.Height = 200;
            chart.Rendered += new EventHandler(chart_Rendered);
	    LayoutRoot.Children.Add(chart);
        }



        void chart_Rendered(object sender,EventArgs e)
        {
            var c = sender as Chart;
            var legend = c.Legends[0];
            var root = legend.Parent as Grid;
   
            root.Children.RemoveAt(8);
            root.Children.RemoveAt(7);  
        }

        在创建chart的时候,在rendered事件里,通过跟踪,去掉了上边和右上的水印。

        本来第二步能直接把两个水印都去掉,但是如果不做第一步,直接第二步,会在创建出chart的一瞬间,右上的水印还会出现,过一会儿才消失,所以才自定义一个类,保证右上的水印不出现。

        感觉我这个解决办法可能是除了破解之外,最容易的实现办法了。虽然网上也有通过stackpanel遮挡的,但总感觉不正宗,并且一旦主题换了,stackpanel的颜色还要跟着改变,十分不方便。

        从官网下载的最新版本5.0.4,亲测通过!

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...