WPF
文章平均质量分 73
OK314
这个作者很懒,什么都没留下…
展开
-
ControlTemplate和DataTemplate区别
<br />ControlTemplate用于描述控件本身. 使用TemplateBinding来绑定控件自身的属性, 比如{TemplateBinding Background}<br />DataTemplate用于描述控件的Content. 使用Binding来绑定数据对象的属性, 比如{Binding PersonName}<br /><br />一般来说, ControlTemplate内有一个ContentPresenter, 这个ContentPresenter的ContentTemplate原创 2010-12-10 13:39:00 · 2713 阅读 · 0 评论 -
XmlDataProvider 两个简单示例
<br />1.Xml文档:<br />代码1<?xml version="1.0" encoding="utf-8" ?><br />2 <Root><br />3<Item ID="1" Data="意大利风格"/><br />4<Item ID="2" Data="挪威风格"/><br />5<Item ID="3" Data="美国风格"/><br />6<Item ID="4" Data="非洲风格"><br />7<SubItem ID="41" Data="埃及风格"></SubItem><原创 2011-03-01 17:36:00 · 1565 阅读 · 0 评论 -
【WPF】完美的布局不留白:解决WrapPanel右侧留白问题
<br />充分利用界面上的空间,是优秀软件界面布局设计的原则之一。如果布局上出现了大片的空白区域就会给人一种浪费和不谐调的感觉。如下图所示。 <br /><br /> 我们把ListBox的ItemsPanel设置为一个WrapPanel。让里面的Items可以自动折行。但是这样在ListBox的右侧,会出现一块空白区。很多情况下,我们对于Item的大小并不很在意,这时我们会更希望Item的宽度可以随着整体宽度自动地调节。产生如下图所示的效果。 <br /><br /><br /> 但是系统自带的Wr转载 2011-01-26 13:24:00 · 6454 阅读 · 0 评论 -
C#WinFrom程序打包/图解VS2008项目的安装与部署图解
一、应用程序文件夹操作1、新建一个安装项目,起名“测试打包”这里要记住路径了,不然,打完了找不着安装包在哪里,可就说不过去了,呵呵!2、这里就会出现三个文件夹,不用多说一看就明白意思,点“应用程序文件夹-->添加-->文件夹这里的作用就是好管理,重启一下名字,这里我就叫它“测试打包系统”3、在“测试打包系统”文件夹上右键-->添加-->项目输出下一步:添加主输出一般这个就够了,当然你还有别的资源的话就要添加上去了!4、接下来在“应用程序文件夹”下依些建几个文件夹,我建了3个Images里我放的是图片,2个I转载 2011-01-12 17:22:00 · 2039 阅读 · 0 评论 -
Binding
<br />WPF里分三种Binding:Binding, PriorityBinding, MultiBinding,这三种Binding的基类都是BindingBase,而BindingBase又继承于MarkupExtensionBinding<br />提供对绑定定义的高级别访问,绑定将绑定目标对象(通常为 WPF 元素)的属性与任何数据源(例如数据库、XML 文件或包含数据的任何对象)连接起来。 <br />常见的使用Binding的代码:<br />C#Bin原创 2011-01-10 10:07:00 · 1980 阅读 · 0 评论 -
WPF中隐藏ToolBar的拖动把手和溢出控制区域
<br />隐藏溢出按钮:<br />设置ToolBar属性 ToolBarTray.IsLocked="True",可以达到隐藏拖动把手的目的。<br />使用如下样式可以隐藏溢出区域:<br /><Style x:Key="{x:Type ToolBar}" TargetType="{x:Type ToolBar}"><br /> <Setter Property="OverridesDefaultStyle" Value="true"/><br /> <Se转载 2011-01-12 13:22:00 · 6881 阅读 · 0 评论 -
VS 打包 覆盖 安装
<br />1、修改ProductCode<br />2、修改UpgradeCode<br />3、设置RemovePreviousVersions为TRUE原创 2011-01-12 17:32:00 · 1702 阅读 · 1 评论 -
WPF SWF
<br />由于WPF 本身中不支持COM 组件同时也无法加载ActiveX 控件,所以需要借助WinForm 引用ActiveX 控件将Flash 加入其中。首先创建一个WPF 项目(WpfFlash),将Flash 文件(.swf)加入到项目中,并将Copy to Output Directory 设置为"Copy always"。<br /><br /> 在工程中新增一个Windows Forms Control Library 项目(FlashControlLibrary),利用该控件库加转载 2011-01-11 17:18:00 · 3329 阅读 · 0 评论 -
WPF Binding
<br /><br />WPF里分三种Binding:Binding, PriorityBinding, MultiBinding,这三种Binding的基类都是BindingBase,而BindingBase又继承于MarkupExtensionBinding<br />提供对绑定定义的高级别访问,绑定将绑定目标对象(通常为 WPF 元素)的属性与任何数据源(例如数据库、XML 文件或包含数据的任何对象)连接起来。 <br />常见的使用Binding的代码:<br />C#Bindi转载 2010-12-29 09:38:00 · 1605 阅读 · 0 评论 -
WPF的三维变换应用
<br />本主题描述如何向 Windows Presentation Foundation (WPF) 图形系统中的三维模型应用变换。开发人员可以借助于变换功能来对模型进行重定位、调整大小和重定向,而无需更改用来定义模型的基值。<br />三维坐标空间 <br />Windows Presentation Foundation (WPF) 中的三维图形内容封装在 Viewport3D 元素中,该元素可以参与二维元素结构。该图形系统将 Viewport3D 视为一个像 Windows Pre转载 2010-12-27 16:02:00 · 3585 阅读 · 0 评论 -
视频 截图
MediaPlayer play = new MediaPlayer();play.IsMuted = true;play.Open(new Uri(file));play.Play();Thread.Sleep(2000);play.Pause();RenderTargetBitmap rtb = new RenderTargetBitmap(320, 240, 1 / 200,1 / 200, PixelFormats.Pbgra32);DrawingVisual d转载 2010-12-24 16:57:00 · 745 阅读 · 0 评论 -
获得窗口句柄
<br />我们在项目中使用WPF开发程序,需要调用一个Activex控件,显示三维的场景,但是需要把当前窗口的句柄传递给OCX控件,WPF窗口本身没有句柄属性,需要通过如下的方式实现转换<br />int handle = new WindowInteropHelper(this).Handle.ToInt32();<br />//this代表当前的窗口原创 2010-12-23 15:09:00 · 714 阅读 · 0 评论 -
WPF中两种不同的视频流的使用
WPF中的进行视频的播放有两种方式:一种是采用MediaElement+VisualBrush的方式;而另一种则是采用MediaPlayer+VideoDrawing的方式。考虑到MediaElement在处理视频时会将布局的Stretch和StretchDirect缩放视频窗口的内容以适应包容器,而MediaPlayer相反则不需要管理布局、焦点以及所有其他元素细节。所以后者相比前者有更高的效率。当然现代的处理器下是不会看到这两者的明显的区别的。不过笔者试了一下,在.Net Framework 3.5下对转载 2010-12-22 16:40:00 · 1005 阅读 · 0 评论 -
获得屏幕宽高
<br />double h = SystemParameters.PrimaryScreenHeight; <br />double w = SystemParameters.PrimaryScreenWidth;原创 2010-12-23 09:24:00 · 586 阅读 · 0 评论 -
解决WPF BitmapImage图片资源无法删除,文件正在被另一个进程使用
<br />代码如下所示,项目本意是想在窗体加载时显示一张图片,然后点击按钮,删除该图片。 <br />可是如下代码,在点击delete按钮时,项目报异常:“...无法删除,文件正在被另一个进程使用”,<br />xaml 代码: <br /> <Grid x:Name="LayoutRoot"> <br /> <Grid.RowDefinitions> <br /> <RowDefinition/> <br /> <RowDefin转载 2011-02-28 12:38:00 · 5690 阅读 · 0 评论