1、返回事件 (1、返回silverlight页面,2、返回web页面)

private void button_ClickBack(object sender, RoutedEventArgs e)
        {

    1、返回silverlight页面:

this.Content = new BeginControlChart(sTNameClick, strReportDate, false);//增加个参数表名

    2、返回web页面

HtmlWindow html = HtmlPage.Window;
string strUri = Application.Current.Host.Source.AbsoluteUri.Substring(0, Application.Current.Host.Source.AbsoluteUri.IndexOf("/ClientBin")) + "/Business/DataQuery/StoreQuery.aspx?IsStoreBack=true";
 html.Navigate(new Uri(strUri));
                //HtmlWindow html = HtmlPage.Window;
                //html.Navigate(new Uri("../Business/DataQuery/StoreQuery.aspx?IsStoreBack=true", UriKind.Relative));
                //Urikind.Relative表示相对路径

       }

2、下载事件

private void btnDown_Click(object sender, RoutedEventArgs e)
        {
            SaveToImage(this.gridVisifire, sTNameClick);
        }

private void SaveToImage(Grid oGrid, string sTName)
        {
            try
            {
                string sChartName = "a"; //下载图片名称
                WriteableBitmap bitmap = new WriteableBitmap(oGrid, null);
                if (bitmap != null)
                {
                    SaveFileDialog saveDlg = new SaveFileDialog();
                    saveDlg.Filter = "JPEG Files (*.jpeg)|*.jpeg";
                    saveDlg.DefaultExt = ".jpeg";
                    saveDlg.DefaultFileName = sChartName;//oGrid.Name;

if ((bool)saveDlg.ShowDialog())
                    {
                        using (Stream fs = saveDlg.OpenFile())
                        {
                            MemoryStream stream = GetImageStream(bitmap);
                            byte[] binaryData = new Byte[stream.Length];
                            long bytesRead = stream.Read(binaryData, 0, (int)stream.Length);
                            fs.Write(binaryData, 0, binaryData.Length);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

public static MemoryStream GetImageStream(WriteableBitmap bitmap)
        {
            byte[][,] raster = ReadRasterInformation(bitmap);
            return EncodeRasterInformationToStream(raster, ColorSpace.RGB);
        }

public static byte[][,] ReadRasterInformation(WriteableBitmap bitmap)
        {
            int width = bitmap.PixelWidth;
            int height = bitmap.PixelHeight;
            int bands = 3;
            byte[][,] raster = new byte[bands][,];
            for (int i = 0; i < bands; i++)
            {
                raster[i] = new byte[width, height];
            }
            for (int row = 0; row < height; row++)
            {
                for (int column = 0; column < width; column++)
                {
                    int pixel = bitmap.Pixels[width * row + column];
                    raster[0][column, row] = (byte)(pixel >> 16);
                    raster[1][column, row] = (byte)(pixel >> 8);
                    raster[2][column, row] = (byte)pixel;
                }
            }
            return raster;
        }

public static MemoryStream EncodeRasterInformationToStream(byte[][,] raster, ColorSpace colorSpace)
        {
            ColorModel model = new ColorModel { colorspace = ColorSpace.RGB };
            FluxJpeg.Core.Image img = new FluxJpeg.Core.Image(model, raster);

//Encode the Image as a JPEG
            MemoryStream stream = new MemoryStream();
            FluxJpeg.Core.Encoder.JpegEncoder encoder = new FluxJpeg.Core.Encoder.JpegEncoder(img, 100, stream);
            encoder.Encode();

// Back to the start
            stream.Seek(0, SeekOrigin.Begin);
            return stream;

}

3、打印事件(详细参考:silverlight visifire控件图表制作——silverlight 后台方法打印)

private void btnPrint_Click(object sender, RoutedEventArgs e)
        {
            //启动打印图片,出现打印对话框 
            printImage.Print(sTNameClick);
        }

4、更改时间地名 事件 自动查询刷新页面

注意:定义全局变量 public bool flag = false;

在构造方法中给页面控件赋默认选中值时会触发dateStart_SelectedDateChanged等方法,所以定义全局变量flag ,页面所有控件赋值完成后,赋值:flag =true 之后再进行查询

//更改时间
 private void dateStart_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
        {
            if (flag == true)
            {
                Query();
            }
            else
            {
                return;
            }
        }

5、图表显示数据点事件

定义全局变量  public bool isShowData = false;

//图表是否显示数据
 private void showData_Click(object sender, RoutedEventArgs e)
        {
            if (showData.IsChecked == true) //勾选
            {
                isShowData = true;
            }
            else
            { isShowData = false; }
            Query();
        }

6、查询按钮:(调用wcf)

private void button_ClickQuery(object sender, RoutedEventArgs e)
      {
   DBServiceClient svc = new DBServiceClient();
       svc.GetSingleChartDataCompleted += new EventHandler<GetSingleChartDataCompletedEventArgs>(svc_GetSingleChartDataCompleted);
         string strReportDate = "";
   if (this.dateStart.Visibility == Visibility.Collapsed)//时间控件为不可见时 即时间只显示年份
          {
          strReportDate = this.dateYear.SelectedValue.ToString().Substring(0, 4) + "0101";//当前选定时间年份的年初
          }
    else
          {
          strReportDate = this.dateStart.SelectedDate.Value.ToString("yyyyMMdd");//当前选定值
  }
        sXName = this.addressNameList.SelectionBoxItem.ToString();//当前选定油田
         strMonth = strReportDate;
        svc.GetSingleChartDataAsync(strReportDate, sTNameClick, sXName);
      }

silverlight visifire控件图表制作——silverlight 后台方法页面事件的更多相关文章

  1. silverlight visifire控件图表制作——silverlight 后台方法ControlChart.xaml.cs

    一.构造方法ControlChart 1.前台页面控件赋值 //时间下拉框赋值,下拉框赋选定值                for (int ii = DateTime.Today.Year; ii ...

  2. silverlight visifire控件图表制作——silverlight 后台方法打印

    一.后台方法 1.添加引用:using System.Windows.Printing; 2.全局变量://定义图片和文本打印变量  PrintDocument printImage; 3.构造方法体 ...

  3. silverlight visifire控件图表制作——silverlight 静态页面xaml

    一.silverlight 静态页面 1. 时间控件:DatePicker ,添加引用: xmlns:sdk="clr-namespace:System.Windows.Controls;a ...

  4. silverlight visifire控件图表制作——silverlight 后台方法画图

    1.调用wcf 获取信息 private void svc_GetSingleChartDataCompleted(object sender, GetSingleChartDataCompleted ...

  5. Silverlight Visifire控件 .net后台控制aspx页面控件的显示与隐藏,动态给控件赋值,选定默认值的设定

    .net后台代码: 控件的显示与隐藏: this.dateStart.Visibility = Visibility.Collapsed;//不显示控件 this.dateYear.Visibilit ...

  6. Silverlight Visifire控件应用去水印

    版本几之前可以用属性直接去掉水印: chart.Watermark = false; 现在我用的会报错,已过时,在网上查了写资料,解决办法如下: 一.很多人都是利用摭罩的办法,定位到水印显示的地方,建 ...

  7. 在Visualforce page中用自带的控件实现Ajax回调后台方法(并且可以用js去动态给parameters赋值)

    这里用的组合是:apex:commandLink  + apex:actionFunction + apex:outputPanel 这里的 apex:commandLink 和 apex:actio ...

  8. silverlight .net后台 设置visifire控件图表样式 属性说明

    .net后台 代码: 如图 Chart chart = new MyCharts();  //图表            //chart.Watermark = false;  //没好使       ...

  9. Silverlight Visifire控件 后台设置颜色

    ColorSet cs = new ColorSet(); cs.Id = "colorset1"; // 设置ColorSet 的 Id 为 colorset1 1.cs.Bru ...

随机推荐

  1. poj2409

    用n个颜色的珠子编项链,求有多少种情况 由N(G,C) = 所有f的稳定核的和/|G| m边形有m种旋转m种翻转 首先说旋转,有模线性方程可知每种旋转都有gcd(m,i)个循环节且每个循环节长度为n/ ...

  2. PHP实现对MongoDB的基础操作

    PHP扩展                                                                                      PHP5.2.PH ...

  3. HTML&CSS基础学习笔记1.22-简单的注册页面

    一个简单的注册页面 表单提交是前后端数据交互的一种方式. 代码区是一个注册页面,其中包含了以下标签:<form>.<table>.<input>.<butto ...

  4. Python新手学习基础之条件语句——if/else语句

    if/else语句 条件语句实际在前面的文章里我们已经使用过几次了,在这里我们需要再次隆重的来介绍一下它,条件语句是通过对一条或多条语句判断的返回结果(True或False)来选择执行下一步命令的,比 ...

  5. Spark学习笔记-使用Spark History Server

    在运行Spark应用程序的时候,driver会提供一个webUI给出应用程序的运行信息,但是该webUI随着应用程序的完成而关闭端口,也就是 说,Spark应用程序运行完后,将无法查看应用程序的历史记 ...

  6. [转]MVC模式已死?何不试试MOVE

    在36Kr看到一篇译文,主要是提出一些新的概念,升华老的MVC模式.看上很不错,转过来,做个记录. ========================= 华丽的分割线 ================= ...

  7. 一品楼论坛www.ep6.info一品楼论坛

    一品楼论坛最新地址www.ep6.info>访问一品楼网站. 一品楼是现在比较大的信息分享平台,一品楼上网必进. 一品楼江苏版块,一品楼北京版块,一品楼怡红院,一品楼怡春院. 一品楼山东信息. ...

  8. $parse , $interpolate ,$complie , $destroy

    $parse 是angular 提供的javascript解析器 . var getter = $parse(expression); var setter = getter.assign; cont ...

  9. cf C. Sereja and Algorithm

    http://codeforces.com/contest/368/problem/C 从左向右记录从1位置到每一个位置上x,y,z的个数.然后判断在l,r区间内的x,y,z的关系满不满足abs(x- ...

  10. 脱机BT transmission

    脱机BT transmission http://192.168.1.1:9091 也可以在使用Transmission Remote软件进行管理,如果下载太慢检查QoS 如果开了防火墙,需要打开默认 ...