WPF中的x命名空间
来源:互联网 发布:300左右休闲皮鞋 知乎 编辑:程序博客网 时间:2024/05/16 07:34
1 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x是用来解析XAML的库,用来将XAML进行编译生成CLR语言。
我们新建一个工程,默认如下:
1 <Window x:Class="WpfApplication4.MainWindow"2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"4 Title="MainWindow" Height="350" Width="525">5 <Grid>6 <TextBlock Name="textblock" Text="textblock"/>7 8 </Grid>9 </Window>
1 namespace WpfApplication4 2 { 3 /// <summary> 4 /// MainWindow.xaml 的交互逻辑 5 /// </summary> 6 public partial class MainWindow : Window 7 { 8 public MainWindow() 9 {10 InitializeComponent();11 }12 }13 }
x:class
1 x:Class="WpfApplication4.MainWindow"
这个属性简单的说就是用来连接cs文件和XAML文件的,试想编译器怎么知道我当前的XAML重的内容是对应到哪一个类呢?就是通过这个属性。
如果我将属性的值由MainWindow修改为MainWindow123,那么编译器会把这两个文件分别生成两个类:MainWindow和MainWindow123。
x:FieldModifier
1 <Grid>2 <TextBlock Name="textblock" Text="textblock"/>3 4 </Grid>
这个时候textblock是私有的,但是有些时候,我们需要在外部获取到这个textblock。就需要使用到x:FieldModifier。
1 <Grid>2 <TextBlock Name="textblock" Text="textblock" x:FieldModifier="public"/>3 4 </Grid>
这个时候textblock就是公有的了这一点我们可以在MainWindow.g.i.cs文件中看到
1 #line 6 "..\..\MainWindow.xaml"2 [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]3 public System.Windows.Controls.TextBlock textblock;4 5 #line default6 #line hidden
而在默认状态下,这个类是private的。
同样与之有相同作用的还有x:ClassModifier,类必须有x:class这个是属性才会有x:ClassModifier,也就是说工程中的主窗口可以使用x:ClassModifier将其公开。
x:Name
Name大家是很熟悉的了,x:Name得作用和Name一样,都是用来定义一个类的实例名字,但是为什么有的使用Name有的却需要x:Name呢?
那是因为Name这个属性定义在FrameworkElement中,但是有些类不是从这个类继承出来的,所以没有Name属性,这样就需要x:Name。一般情况下二者是可以混用的。
x:Key
将textblock的内容转成一个资源
1 <Window.Resources>2 <System:String x:Key="String1">textblock</System:String>3 </Window.Resources>4 <Grid>5 <TextBlock x:Name="textblock" Text="{DynamicResource String1}"/>6 </Grid>
x:Key就是这个资源的名字同样的和还有x:share,如果这个值等于true那么就相当于一个这个资源全局只有一份,但是如果这个资源为false,那么在使用的时候,就相当于重新创建了一个副本。在默认情况下,资源都是share的,不管是否显示的把这个属性置为true。
- WPF中的x命名空间
- WPF中的x命名空间
- WPF中的x名称空间
- WPF命名空间
- wpf中:xaml中的命名空间的引入
- wpf中:xaml中的命名空间的引入方法
- WPF XAML的命名空间
- WPF Summary:XAML命名空间
- 照猫画虎WPF之一:命名空间
- wpf问题~命名空间问题
- x命名空间详解
- X命名空间
- WPF 之 X名称空间
- C++中的命名空间
- C#中的命名空间
- MXML中的命名空间
- C++中的命名空间
- C++中的命名空间
- C语言的类型提升
- Java如何复制对象
- HTK之决策树聚类
- adb 不识别解决办法
- 用vim 操作模式 在sublime 的应用
- WPF中的x命名空间
- python int() round() floor()函数的比较
- Video Module
- svn图标含义
- Error generating final archive: Debug certificate expired on的解决办法
- TortoiseSVN中图标的含义
- 关于用struts所配置的Action默认页面的跳转问题
- 64位多核 MIPS 异常和中断结构
- traits技术详解