WPF学习(一) - XAML
Window、Grid、TextBox、Button等,都叫元素
xaml文档中,<>用来定义标签,标签可以用来描述元素或元素的属性,如:
<Window>
<Window.Resources>
</Window.Resources>
</Window>
Window是元素,Resources是Window的一个属性
标签内容可以包含其他元素的标签,如
<Window>
<Grid>
<Button />
</Grid>
</Window>
有些元素只能包含一个子元素,有些能包含很多子元素。
每个元素都可以有属性,如
<Window>
<Grid>
<Button Height = "30"/>
</Grid>
</Window>
描述元素的属性还可以用属性标签的方式来写
<Window>
<Grid>
<Button>
<Button.Height>40</Button.Height>
</Button>
</Grid>
</Window>
属性标签更有层次,但超级啰嗦,没有使用的必要
属性的值可以是字符串,也可以用标记扩展的形式完成类似绑定数据等复杂的操作。
<Window>
<Grid>
<TextBox Text ="{Binding ElementName= slider1, Path=Value, Mode=OneWay}"/>
<Slider Height="19" Name="slider1" Width="139" />
</Grid>
</Window>
用属性标签的写法,可以写成这样
<TextBox.Text>
<Binding ElementName ="slider1" Path ="Value" Mode="OneWay"/>
</TextBox.Text>
这种写法在vs2010下很不给力,智能提示不到位……
属性不仅可以是元素自身的,也可以是其他元素的属性
引用其他元素属性的用法叫做附加属性,被引用的元素必须要写明所在的命名空间前缀
<Window>
<Grid>
<Button x:Name = "btn1" Grid.Row = "2"/>
</Grid>
</Window>
Grid.Row没有前缀?那是因为有个默认的命名空间xmlns,使用它包含的类时就不用写明命名空间前缀
命名空间在根元素的属性中定义
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="App1.Window3">
</Window>
xmlns定义的即是默认的命名空间,这里把它指向了WPF所有的控件类。
xmlns:x 定义了另一个命名空间,这里的x叫做命名空间前缀,理解成简称也可以。
x:Class 是附加属性,指明后置代码中的cs类名称
x命名空间下的类用途乱七八糟的,记住名字就行
x:Name
x:Class
x:Subclass
x:Type
x:Null
x:Key
x:Array
x:Static
x:Shared
x:Code
x:XData
xmal 是标记语言,如同html一样。类似Jquery,.net也提供了两个帮助类:VisualTreeHelper、LogicalTreeHelper
WPF学习(一) - XAML的更多相关文章
- WPF学习笔记-用Expression Design制作矢量图然后导出为XAML
WPF学习笔记-用Expression Design制作矢量图然后导出为XAML 第一次用Windows live writer写东西,感觉不错,哈哈~~ 1.在白纸上完全凭感觉,想象来画图难度很大, ...
- 学习WPF——了解WPF中的XAML
XAML的简单说明 XAML是用于实例化.NET对象的标记语言,主要用于构建WPF的用户界面 XAML中的每一个元素都映射为.NET类的一个实例,例如<Button>映射为WPF的Butt ...
- WPF学习05:2D绘图 使用Transform进行控件变形
在WPF学习04:2D绘图 使用Shape绘基本图形中,我们了解了如何绘制基本的图形. 这一次,我们进一步,研究如何将图形变形. 例子 一个三角形,经Transform形成组合图形: XAML代码: ...
- WPF学习之资源-Resources
WPF学习之资源-Resources WPF通过资源来保存一些可以被重复利用的样式,对象定义以及一些传统的资源如二进制数据,图片等等,而在其支持上也更能体现出这些资源定义的优越性.比如通过Resour ...
- WPF学习之路初识
WPF学习之路初识 WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Found ...
- WPF学习拾遗(二)TextBlock换行
原文:WPF学习拾遗(二)TextBlock换行 下午在帮组里的同事解决一个小问题,为了以后方便,把就把它收集一下吧. 新建一个TextBlock作为最基础的一个控件,他所携带的功能相对于其他的控件要 ...
- WPF学习(8)数据绑定
说到数据绑定,其实这并不是一个新的玩意儿.了解asp.net的朋友都知道,在asp.net中已经用到了这个概念,例如Repeater等的数据绑定.那么,在WPF中的数据绑定相比较传统的asp.net中 ...
- WPF 学习笔记-在WPF下创建托盘图标
原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...
- (转)WPF学习资源整理
由于笔者正在学习WPF,所以整理出网络中部分WPF的学习资源,希望对同样在学习WPF的朋友们有所帮助. 首推刘铁猛的<深入浅出WPF>系列博文 1.深入浅出WPF(1)——什么是WPFht ...
- WPF学习资源整理
WPF(WindowsPresentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供了统一的编程模型 ...
随机推荐
- [Swift]二进制、八进制、十进制、十六进制之间的转换
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- tableview偏移
tableview偏移 方法一:改变edgesForExtendedLayout self.edgesForExtendedLayout = UIRectEdgeNone; 将edgesForExte ...
- MyEclipse 安装svn 插件步骤详情
方法一:在线安装 打开HELP- > MyEclipse Configuration Center.切换到SoftWare标签页. 点击Add Site 打开对话框,在对话框Name输入Svn, ...
- UWP 开发APP准备工作
每新建一个UWP之后,都要进行一番相同的处理步骤,才能使Mobile的使用体验更好,故总结如下: 1.订阅Mobile后退导航事件 在App.xaml.cs文件中OnLaunched方法中添加 Sys ...
- (转载) Android Studio你不知道的调试技巧
Android Studio你不知道的调试技巧 标签: android studio 2015-12-29 16:05 2514人阅读 评论(0) 收藏 举报 分类: android(74) ...
- HDU 1513 Palindrome【LCS】
题意:给出一个字符串s,问至少加入多少个字母让它变成回文串 解题思路:求出该字符串与该字符串翻转后的最长公共子序列的长度,再用该字符串的长度减去最长公共子序列的长度即为所求 反思:因为题目所给的n的范 ...
- hdu2614 Beat
题意: 有n个问题. 给出你解决完第i个问题之后解决j问题所花的时间,花的时间越多表示难度越大,每次只能解决难度大于或等于上个题难度的问题.问你最多能解决多少问题. 他妈的,第一次做想半天想不出来如何 ...
- 多进程Socket_Server
import socketserverclass MyServer(socketserver.BaseRequestHandler): def handle(self): #继承BaseRequest ...
- (3)pyspark----dataframe观察
1.读取: sparkDF = spark.read.csv(path) sparkDF = spark.read.text(path) 2.打印: sparkDF.show()[这是pandas中没 ...
- vim配置C++开发环境 win10
资料一 —— vim插件的安装 https://www.cnblogs.com/tianzhiyi/p/5338032.html 资料二 —— vim多窗口操作: https://blog.csdn. ...