- 浏览: 52765 次
- 性别:
- 来自: 厦门
-
文章分类
最新评论
二、x名称空间中的标记扩展
标记扩展(Markup Extension)实际上就是一些MarkupExtension类直接或者间接的派生类,在x名称空间中就存在这样一些类,所以常称它们为x名称空间内的标记扩展。
下面我们来看一下常用的标记扩展吧!
1、x:Type 从字面上开,x:Type的值应该是一个数据类型的名称。一般情况下,我们在编程中操作的是数据类型的实例或者是实例的引用,但是有时候我们也会用到数据类型本身。下面我们还是来看一个例子吧!
首先创建一个Button的派生类:
class MyButton:Button { public Type UserWindowType {get; set; } protected override void OnClick( { base.OnClick(); Window win = Activator.CreateInstance(this.UserWindowType) as Window; if(win != null) win.ShowDialog(); }
在该类中存在一个Type类型的属性,即UserWindowType,此时你需要将一种数据类型当做值赋给它。同时在该类中重写了父类的OnClick方法,此时可以像父类那样激活Click时间,还会创建UserWindowType所存储类型的一个实例。
<Window x:Class="WpfApplication.Window1" xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml Title="Window1" Width="200" Height="170"> <StackPanel Background="LightBlue"> <TextBox /> <TextBox /> <Button Content="确认" /> </StackPanel> </Window>
此时,我们将自定义按钮添加到窗口中,并且把Window1作为数据类型复制给自定义按钮的UserWindowType属性。
<Window x:Class="WpfApplication.Window2" xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml Title="Window2" Width="300" Height="300"> <StackPanel> <local:MyButton Content="Show" UserWindowType="{x:Type TypeName=local:Window1}" /> </StackPanel> </Window>
这就是x:Type的用法了!
2、x:Null 该标记扩展的作用是将一个空值显示的赋给一个属性。我们知道在C#中用null表示空值,那么在xaml中就用x:Null表示空值了。同样让我们来看一个例子:
<Window.Resource> <Style TargetType="Button"> <Setter Property="Background" Value="LightBlue" /> </Style> </Window.Resource> <StackPanel> <Button Content="Button1" /> <Button Content="Button2" /> <Button Content="Button3"/> <Button Content="Button4" Style="{x:Null}" /> </StackPanel>
以上代码的运行效果是,前三个Button的背景色均为浅蓝色,而最后一个button为默认颜色。知道x:Null的用法了吧!
3、x:Array 该Attribute的作用就是通过它的Items属性向使用者报了一个类型已知的ArrayList实例,ArrayList内成员的类型有x:Array的Type指明。下面我们一个例子来说明吧!
<ListBox> <ListBox.ItemsSource> <x:Array Type="sys:String"> <sys:String>1</sys:String> <sys:String>2</sys:String> <sys:String>3</sys:String> </x:Array> </ListBox.ItemsSource> </ListBox>
运行程序,你就知道效果了!
4、x:Static 是一个很常用的标记扩展,它的主要作用是使用数据类型中的Static成员。主要用于程序的国际化支持了。同样用例子说话:
public class Chinese { public static string btnSure = "确认"; } public class English { public static string btnSure = "OK"; }
根据选择不同的语言,使其展现内容的语言不同
<Button Content="{x:Static ocal:Chinese.btnSure}"
三、XAML指令元素
x:Code 主要用于在xaml中写入C#代码
发表评论
-
获取WPF所有控件的模板内容
2013-04-03 15:13 10781. 首先创建XMAL文件 <Windo ... -
委托回调函数的妙用(c# code )
2013-04-03 15:14 1478//person类 public class ... -
DynamicResource与StaticResource的区别
2013-02-20 14:28 0DynamicResource与StaticRes ... -
依赖属性--WPF
2013-02-20 14:27 0/// <summary> / ... -
简单的上传图片
2013-02-20 14:26 0<%@ Page Title="" ... -
C#获取文件夹下所有文件
2013-02-20 14:25 0string fileInfo = string.Empty ... -
如何将input type="file"显示的"浏览" 变成英文的?
2013-02-20 14:25 0解决方法: 方法一:使用英文Windows系统(这 ... -
asp.net mvc 2.0相关的一些内容
2013-02-20 14:24 01.搜索用到ViewTemp[]的时候,要用COOKIE去 ... -
WPF datagrid 弹出右键菜单时先选中该项
2013-02-20 14:23 0privatevoid datagrid_Previ ... -
显示动态的大小写提示框
2013-02-20 14:18 0function detectCapsLock(event) ... -
C# Action<T> 使用
2013-02-20 14:18 0在使用 Action<T> ... -
字符串SubCutString
2013-02-20 14:15 811public static string SubCutStr ... -
正则表达式-关于字符在100以内的字
2013-02-20 14:15 1212^.{0,100} $ 关于字符在100以内的字 ... -
WPF,TextBlock ,ToolTip 显示
2013-02-20 14:14 1242<TextBlock Text="{Bind ... -
后台运行点击事件
2013-02-20 14:13 756button.RaiseEvent(new Route ... -
为你解惑之WPF经典9问详解 .
2013-01-08 15:20 1281第0问:能否简单介绍一 ... -
WPF中DataGrid的使用 .
2013-01-08 15:21 1710DataGrid是WPF中的数据显 ... -
WPF中TreeView的使用 .
2013-01-08 15:21 2234不管是在窗体程序开发还是在web应用程序开发中,大家都知道树这 ... -
浅谈WPF中x名称空间(一) .
2012-04-13 13:22 1151不知道各位同行在创建第一个WPF应用程序时,由编译器自动 ... -
C#正则表达式
2012-04-13 12:41 882(1)“@”符号符下两ows表研究室的火热,当晨在“@”虽然并 ...
相关推荐
WPF 24小时自学教程 Teach.Yourself.WPF.in.24.Hour
【压缩包子文件的文件名称列表】中仅有 "[WPF]JJDown" 这一项,这意味着压缩包内包含的是WPF应用程序的主体部分,可能包括可执行文件、资源文件、配置文件等。用户解压后,很可能是直接运行这个文件来启动JJDown应用...
在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 应用程序中实现远程桌面功能,重点是使用AxInterop.MSTSCLib.dll和Interop.MSTSCLib.dll这两个组件。这两个组件是Microsoft Terminal ...
wpfx.org-Notepad.rar
**WPF Extended.Wpf.Toolkit加载界面Demo** WPF(Windows Presentation Foundation)是.NET框架的一部分,用于构建具有丰富图形、多媒体和数据绑定功能的桌面应用程序。在开发WPF应用时,我们常常需要为用户提供一...
[专业WPF用户界面控件].Actipro.WPF.Studio.v11.1.0541.Incl.Keygen-Lz0 激活码!!!!!!!!!!!!
在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)和Vlc.DotNet.Wpf库来封装一个自定义的视频播放器。WPF是.NET Framework中的一个UI框架,提供了丰富的图形渲染和用户交互能力。而Vlc....
《WPF深入浅出》是一本专注于Windows Presentation Foundation(WPF)技术的书籍,由国内作者撰写,确保了内容的准确性和本地化适应性。WPF是微软.NET Framework中的一个关键组件,它提供了构建富客户端应用程序的...
C#、WPF使用技巧,实战应用开发小系统参考资料,源码参考。经测试可运行。 详细介绍了一些WPF框架的各种功能和模块,以及如何使用WPF进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够...
WPF.Themes.ThemeManager.ApplyTheme(Application.Current, Properties.Settings.Default.Themes);//读取设置界面主题配置信息 即可使所有常用的控件主题变成所选择的主题,无需在每个窗体里修改样式。 减少了很...
WPF(Windows Presentation Foundation)是微软推出的一种用于构建Windows客户端应用程序的用户界面框架,它属于.NET Framework的一部分,被广泛应用于桌面应用程序、网络应用程序以及移动应用程序的开发中。WPF提供...
**Xceed.WPF.Toolkit库详解** Xceed.WPF.Toolkit是一个强大的WPF(Windows Presentation Foundation)扩展库,由Xceed Software公司开发。这个库为开发者提供了许多预构建的UI控件和功能,使得在构建现代、美观且...
LoadingIndicators.WPF, WPF加载指示器的集合 LoadingIndicators.WPF LoadingIndicators.WPF 是 8个用于WPF的动画加载指示器,与 MahApps.Metro 兼容。样式弧线弧形环双弹跳FlipPlane脉冲响铃三点
《Xceed.Wpf.AvalonDock:一个强大的WPF文档管理库》 Xceed.Wpf.AvalonDock是一款专门用于Windows Presentation Foundation (WPF) 应用程序的库,它提供了一种高度可定制和灵活的文档和工具窗口管理解决方案。这个...
DevExpress.WPF.v19.2.chm.zip是一个包含DevExpress WPF V19.2英文帮助文档的压缩包,其中的核心文件是"DevExpress.WPF.v19.2.chm",这是一个CHM(Microsoft Compiled HTML Help)格式的文件,通常用于存放软件的...
DotNetBar.for.WPF.v5.9.0.0-AHCU
WPF HelixToolkitWPF 中文手册 HelixToolkitWPF中文手册.pdf
8. 详谈WPF开发中的数据虚拟化 64 XAML语法 74 1. XAML语法术语 74 2. 代码隐藏和XAML 82 3. XAML和自定义类 83 4. 标记扩展和XAML 87 5. XAML命名空间和命名空间映射 90 6. WPF名称范围 92 WPF控件开发 95 1. WPF...
在本文中,我们将深入探讨如何在WPF应用中实现视频拍摄功能,主要涉及DirectX.Capture和AForge这两个类库。这两个库都是Windows Presentation Foundation (WPF)开发中用于捕获视频和图像的重要工具。 首先,DirectX...
Actipro.WPF.Studio.v11.2.0552.Incl.Keygen-Lz0