WPF寄宿WinForm窗体
摘要:1.WPF与WinForm交互可以通过WindowsFormsHost控件实现,在WPF程序中添加一个WindowsFormsHost控件,然后就可以再WindowsFormsHost控件中添加需要显示的WinForm了。代码如下:Form1 f = new Form1();f.TopLevel = false;//在WinFrom窗体嵌套时候也要设置false, 因为顶级控件是不能被加入另一个其中的。this.windowsFormsHost1.Child = f;
阅读全文
WPF属性
摘要:WPF中的两个基本属性:Dependency属性即依赖项属性,Attached属性即附加属性。1.Dependency属性。这个属性是基于其他输入值通过计算而获得的。可以通过属性是否存在依赖项信息来判断是否是依赖属性。依赖项信息包括一个指向该依赖项属性的DependencyProperty 标识符字段的链接,还包括一个为该属性设置的元数据选项的列表、每个类的重写信息以及其他详细信息.依赖项属性的设置有下面几个方面:(1)依赖项属性值可以通过引用资源来设置<DockPanel.Resources> <SolidColorBrush x:Key="MyBrush&quo
阅读全文
WPF绑定
摘要:数据绑定是在应用程序界面和业务逻辑之间建立连接的过程。1.WPF绑定的四个基本元素:绑定目标,绑定属性,绑定源,绑定值。下面用例说明这四个元素之间关系 <TextBox Name="a" Text="ab" ></TextBox> <TextBox Name="b"Text="{Binding ElementName=a,Path=Text,Mode= OneWay}" />其中绑定目标是Name="b"的TextBox,它的Text属性就是绑定属性,绑定源是
阅读全文
WPF事件
摘要:WPF引用路由事件,这些事件用来调用应用程序的元素树上的各种监听器上的处理程序。路由事件主要有三种策略:冒泡、直接、隧道(1)冒泡,这种事件处理方式是从源元素向上级流过去,直到到达根节点(页或窗体)(2)直接,这种处理方式是在源上处理,主要用在setter和trigger(3)隧道,又称作 Preview 事件,元素树的根处调用事件处理程序,依次向下直到源。隧道事件和冒泡事件一般成对出现。同一对事件,执行时首先是隧道事件,然后冒泡事件。可以再XAML或者代码中为控件添加事件,两者效果是一样的。1.在XAML中添加事件(1)为容器所有button添加事件 <StackPanel Butto
阅读全文
WPF资源
摘要:WPF资源,资源通常指定为页面根元素或应用程序的 Resources 属性值。主要用于对控件的样式进行设置,如字体大小颜色控制,图形图片的嵌入等。1.根据编译和运行状态,可以分为静态资源和动态资源。静态资源在编译好了以后,不会随程序运行而改变,就算对静态资源做了修改,依然没用的;而动态资源可以在运行过程进行修改。静态资源和动态资源的区别,是在运行时对引用资源的内容修改是否引起资源本身的变化。比如StaticResource key,运行时修改key所代表的资源内容,不会引起程序改变。而DynamicResource key,运行时修改key所代表的资源内容,会通知资源改变。注意这里的key是不
阅读全文
WPF布局
摘要:WPF在布局方式,根据项目的类型可以分为两种:A:WPF应用程序布局根元素是Window,这是和Winform相对应的。B:WPF浏览器程序布局根元素是Page,这是和ASP.NET对应的。每种布局方式下面,可以放置形式各异的容器和控件。其中主要的几个布局容器有:StackPanel 以线性方式排列,其中控件可以水平或者垂直排列DockPanel 以上、下、左、右、填充的方式排列控件Grid 以网格形式排列,可以按照行、列方式排列控件CanVas 根据Canvas确定子元素的精确位置WrapPanel 根据排列属性可以从上到下,从左到右排列子元素下面将依次介绍这几个容器。1.StackPane
阅读全文