1.拖放外部文件到应用程序
拖放操作的 Demo - Silverlight 4.0 支持拖动外部文件到 Silverlight 程序中(支持多文件拖放,但是不支持文件夹拖放)
UIElement.AllowDrop - 指定 UIElement 是否可以用作于 DropTarget(拖放操作的放目标)。默认值为 false
UIElement.DragEnter - 拖动外部文件进入到 UIElement 时所触发的事件(事件参数类型为:DragEventArgs)
UIElement.DragLeave - 拖动外部文件离开 UIElement 时所触发的事件(事件参数类型为:DragEventArgs)
UIElement.DragOver - 拖动外部文件在 UIElement 中移动时所触发的事件(事件参数类型为:DragEventArgs)
UIElement.Drop - 拖动外部文件在 UIElement 中放开时所触发的事件(事件参数类型为:DragEventArgs)
DragEventArgs - 拖放操作所触发的拖放事件的事件参数
DragEventArgs.Data - 获取与拖放事件相关联的数据(IDataObject 类型)
IDataObject.GetData(DataFormats.FileDrop) - 返回被拖放的外部文件的 FileInfo 数组
(1)前台界面
前台界面放Canvas,TextBlock,WrapPanel,其中Canvas是拖放区域,WrapPanel为图片显示区,Canvas的AllowDrop要设置为True,并且给Canvas添加事件----Drop ,DragLeave ,DragLeave 。具体代码如下
(2)后台代码
(3)显示效果
2.鼠标滚动放大缩小图片
(1)创建一个子窗体,用于单击缩率图展示大图片。单击事件在1中有说明。
在构造函数中,设置委托用于设置图片源
其中ImageView_Loaded事件如下:
在构造函数中添加鼠标滚动事件:
ImageViewer_MouseWheel事件为:
(2)显示效果
3.右击弹出打印按钮
(1)添加右击选项
一般在Silverlight应用程序右击总是出现Sliverlight(s)一个单选项,我们先要删除该选项,然后再添加打印的按钮。
在前台Grid中添加三个鼠标单击事件,如下:
在后台代码中MouseRightButtonDown代码如下:
MouseRightButtonUp代码如下:
最后当鼠标左击时,右击出现的菜单消失:
(2)显示效果:
(3)打印
演示 Silverlight 4.0 中新增的对打印的支持
* PrintDocument - 用于提供打印功能的类
* PrintDocument.PrintedPageCount - 已经被打印的页数
* PrintDocument.Print(string documentName) - 弹出打印对话框。需要指定的参数为“在打印队列中需要显示的文档名称”
* PrintDocument.BeginPrint - 调用 Print() 方法并且按了打印对话框中的打印按钮之后所触发的事件,在 PrintPage 事件之前发生
* PrintDocument.EndPrint - 打印结束(包括打印被取消)后所触发的事件
* PrintDocument.PrintPage - 每打印一页之前所触发的事件
* PrintPageEventArgs - PrintPage 事件的事件参数
* PrintPageEventArgs.PageVisual - 需要被打印的 UIElement
* PrintPageEventArgs.PrintableArea - 可打印的区域大小(Size 类型,其包括 Width 属性和 Height 属性和 IsEmpty 属性)
* PrintPageEventArgs.PageMargins - 获取当前打印页的页边距(Thickness 类型,其包括 Left 属性和 Top 属性和 Right 属性和 Bottom 属性)
* PrintPageEventArgs.HasMorePages - 设置是否还有更多页需要打印(如果设置为 true,则会继续出触发 PrintPage 事件)
*/