在WPF自学入门(二)WPF-XAML布局控件的文章中分别介绍StackPanel,WarpPanel,DockPanel,Grid,Canvas五种布局容器的使用,可以让我们大致了解容器可以使用在什么地方.今天我们就来简单了解一下WPF中的三个带标题的内容控件,分别是GroupBox,TabControl和Expander 一.GroupBox控件 这个控件可以叫做分组控件,可以把已经用布局控件包装好的一系列的控件放到里面分为一个组,例如,我们可以放入RadioButton进去,那么就不用设置…
在ASP.NET AJAX Beta2中,UpdateProgress控件已经从“增值”CTP中移到了ASP.NET AJAX核心中.以下两篇关于UpdateProgress的文章基本翻译自ASP.NET AJAX官方网站. 主要内容 1.UpdateProgress控件简单使用 2.使用多个UpdateProgress控件 一.UpdateProgress控件简单使用 1.创建一个Web页面并切换到设计视图. 2.在工具箱的AJAX Extensions标签下,双击ScriptManager控…
一.Canvas 1.官方表述:定义一个区域,在该区域中可以使用相对于该区域的坐标显式定位子元素. 2.对于canvas 的元素的位置,是靠控件的大小及Canvas.Top.Canvas.Left.Canvas.Right.Canvas.Button属性,而不是控件的声明位置. 3.最适合在canvas的放置的是图形内容. 二.DockPanel 1.DockPanel通常作为其他面板的容器,来对内容进行分组,使用附加属性控制元素的停靠位置. 2.注意LastChildFill属性,设置为tru…
本文主要通过一个简单示例,让Web页面在一定的时间间隔内局部刷新,来学习一下ASP.NET AJAX中的服务端Timer控件的简单使用. 主要内容 Timer控件的简单使用 1.添加新页面并切换到设计视图. 2.如果页面没有包含ScriptManager控件,在工具箱的AJAX Extensions标签下双击ScriptManager控件添加到页面中. 3.单击ScriptManager控件并双击UpdatePanel控件添加到页面中. 4.在UpdatePanel控件内单击并双击Timer控件…
一.控件类 在WPF中和用户交互的元素,或者说.能够接受焦点,并且接收键盘鼠标输入的元素所有的控件都继承于Control类. 1. 常用属性: 1.1 Foreground:前景画刷/前景色(文本颜色) 1.2 Background:背景画刷/背景色 //使用RBG设置颜色 Btn_1.Foreground = , , )); //使用颜色枚举设置颜色 Btn_1.Foreground = new SolidColorBrush(Colors.DarkGoldenrod); //使用系统颜色枚举…
WPF内容控件 在WPF中,所有呈现在用户界面上的对象都称为用户界面元素.但是只有派生自System.Windows.Controls.Control类的对象才称为控件.内容控件通常是指具有Content属性的控件,Content属性并非定义在每个控件中,而是定义在基类System.Windows.Controls命名空间的ContentControl类中.注意:Content属性只接收单个内容元素. WPF内容控件分类 1.  直接继承ContentControl的控件 2.  继承Heade…
有没有想过在.NET中已经有了事件机制,为什么在WPF中不直接使用.NET事件要加入路由事件来取代事件呢?最直观的原因就是典型的WPF应用程序使用很多元素关联和组合起来,是否还记得在WPF自学入门(一)XAM基本知识中提到过两棵树,逻辑树LogicalTree 和可视化树 VisualTree,那么它们分别是什么? 举个例子: 上面的代码就是逻辑树LogicalTree,一个Grid里面镶嵌了其他控件或布局组件,相当于一棵树中的叶子.而可视化树VisualTree是什么?它就是一个树中的树叶里面…
在WPF自学入门(十)WPF MVVM简单介绍中的示例似乎运行起来没有什么问题,也可以进行更新.但是这并不是我们使用MVVM的正确方式.正如上一篇文章中在开始说的,MVVM的目的是为了最大限度地降低了Xaml文件和CS文件的耦合度,分离界面和业务逻辑,所以我们要尽可能的在View后台不写代码.但是这个例子中,我们将更新ViewModel的代码写在了View里,下一个例子中,我们要通过命令(Command)的来将Button的事件分离出来. 因为本文中需要使用Command命令,我们先来简单了解C…
我们平时在写代码时为了不重复写代码,会进行复制代码或者写通用方法.今天我们就来把上传做的函数提取成为通用的方法调用.把上次写的函数提取为两个主要的文件:ObserableObject和RelayCommand.步骤如下: 新建Mvvm项目,将实例三中的文件复制到Mvvm项目中即可.新建ObserableObject类文件,代码如下: using System; using System.ComponentModel; using System.Diagnostics; using System.…