当前位置: 首页 > news >正文

网站html5自适应屏幕大小大型网站开发心得

网站html5自适应屏幕大小,大型网站开发心得,电子商务做网站实训体会,网站内容与模板设计转自#xff1a;WPF XAML X名称空间详解_郎涯技术-CSDN博客 X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的、用来引导XAML编译器将XAML代码编译为CLR代码。 【X名称空间里面到底都有些什么】 x名称空间映射的是:http://schemas.microsoft.com/winfx/2006/xam…转自WPF XAML X名称空间详解_郎涯技术-CSDN博客 X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的、用来引导XAML编译器将XAML代码编译为CLR代码。 【X名称空间里面到底都有些什么】 x名称空间映射的是:http://schemas.microsoft.com/winfx/2006/xaml望文生义它包含的类均与解析XAML语言相关所以亦称之为“XAML名称空间”。 与C#语言一样XAML也有自己的编译器。XAML语言被解析并编译最终形成微软中间语言保存在程序集中。在解析和编译XAML的过程中我们经常要告诉编译器一些重要的信息如XAML编译的结果应该和哪个C#代码编译的结果合并、使用XAML声明的元素是public还是private访问级别等等。这些让程序员能够与XAML编译器沟通的工具就存在X:名称空间中。 我们注意到它分为Attribute、标签扩展、XAML指令元素三个种类。下面我们讲讲它们的具体用法: 【X名称空间中的Attribute】 前面我们已经讲过,Attribute和Property是两个层面上的东西,Attribute是语言层面上的东西,是给编译器看的,Property是面向对象层面上的东西,是给编程逻辑看。而且一个标签中的Attribute大部分对应对象的Property。在使用XAML编程的时候如果你想给它加一点特殊的标记来改变XAML对它的解析这时候就需要额外的给它添加一些Attribute了。比如你想告诉XAML编译器将哪个编译结果和那个C#编译的类合并这时候就必须为这个标签添加X:Class  Attribute来告诉编译器。X:Class并不是对象成员而是从X名称空间里拿出来硬贴上去的。让我们浏览一下常用的Attribute。 【x:Class】     这个Attribute是告诉XAML编译器将XAML编译器编译的结果和后台编译结果的哪一个类进行合并 使用x:Class有以下几点要求: 这个Attribute只能用于根节点。 使用x:Class的根节点的类型要与x:Class的值所指示的一致。 x:Class的值所指示的类型在声明的时候必须使用partial关键字。 x:Class已经在剖析最简单的XAML的时候已经讲过在这就不多讲了。 【X:ClassModiffier】     是告诉XAML编译器由标签编译成的类具有什么样的访问级别。   使用这个Attribute的时候需要注意的是 标签必须具有x:Class Attribute。 X:ClassModiffier的值必须与X:Class所指定类的访问权限一致。 X:ClassModiffier的值随后台代码编译语言的不同而有所不同。 例子 Window x:ClassWpfApplication4.wnd422x:ClassModifierinternalxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitlewnd422 Height350 Width525/ 对应的C#代码 /// summary /// wnd422.xaml 的交互逻辑 /// /summary internal partial class wnd422 : Window {public wnd422(){InitializeComponent();}【X:Name】     我们之前已经提过XAML是一种声明式语言但你是否想过XAML标签声明的是什么呢其实XAML标签声明的是对象一个XAML标签对应着一个对象这个对象一般是一个控件类的实例。在.NET平台上类是引用类型。引用类型的实例一般都是以“引用者---实例”的形式成对出现的而且我们只能通过引用者来访问实例。当一个实例不在被任何引用者引用的时候它将作为内存垃圾被销毁。常见的引用者是引用变量但不是唯一的。 X:Name的作用有两个: (1)告诉编译器当一个标签带有x:Name时除了为这个标签生成实例还要给这个标签声明一个引用变量变量名就是x:Name的值。 (2)将XAML标签所对应的Name属性(如果有)也设置为x:Name值并把这个值注册到UI树上以方便查找。 【x:FieldModifier】     使用了x:Name后XAML标签对应的实例就具有了自己的引用变量而且这些引用变量都是类的字段既然这样就不免要关注一下它的访问级别。默认情况下这些字段的级别都被设置成了Internal。在编程的时候有的时候需要用一个程序集里的一个窗体元素访问到另一个程序集的窗体元素那么就需要使用x:FieldModifier来改变引用变量的访问级别   因为x:FidleModifier是引用变量的访问级别所以要配合x:Name一起使用。否则没有引用变量何来引用变量访问级别。 例如 Window x:ClassWpfApplication4.wnd423xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitlewnd423 Height99 Width438StackPanelTextBox x:Name _txtBox x:FieldModifierinternal Height23 TextTextBox/Button ContentOK ClickButton_Click//StackPanel /Window 对应的C#后台代码 public partial class wnd423 : Window {public wnd423(){InitializeComponent();}private void Button_Click(object sender, RoutedEventArgs e){if(string.IsNullOrEmpty(_txtBox.Name)){_txtBox.Text No Name;}else{_txtBox.Text _txtBox.Name;}} }【x:Key】      最自然的检索方式莫过于”key-value“的形式了。在XAML文件中我们可以把需要多次使用的内容提取出来放在资源字典中需要使用的时候就用这个资源的key将这个资源检索出来。   x:key的作用就是为资源贴上用于检索的索引。在WPF中几乎每个元素都有自己的Resource属性这个属性就是“key-value”的集合。只要把元素放进这个集合里这个元素就成了资源字典中的一个条目。当然为了能检索到这个条件就必须为它添加x:Key。资源在WPF中非常重要需要重复使用的XAML内容如Style各种Template和动画都需要放在资源里。 先让我们看XAML代码: Window x:ClassWpfApplication4.wnd425xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:sysclr-namespace:System;assemblymscorlibTitlewnd425 Height152 Width341Window.Resourcessys:String x:KeymyString x:SharedfalseHello WPF Resources/sys:String/Window.ResourcesStackPanel BackgroundLightSlateGrayTextBox Height23 Text{StaticResource ResourceKeymyString}/TextBox x:Name_txtBox2 Height23 TextTextBox/Button ContentOK ClickButton_Click//StackPanel/Window 资源不但可以在XAML中使用也可以在C#中访问C#中使用如下方式: _txtBox2.Text this.FindResource(myString) as string; 【x:Shared】     学习x:key的时候我们已经了解到如果把某个对象作为资源放入资源字典里后我们就可以把它们检索起来重复使用。那么每当我们检索到一个对象我们得到的究竟是同一个对象呢还是这个对像的一个副本呢这就要看我们为x:Shared赋什么值了。 x:Shared一定要与x:Key配合使用如果x:Shared值为true,那么每次检索这个对象的时候我们得到的都是同一个对象反之我们得到的就是这个对象的一个副本。默认这个值是true。也就是说我们使用的都是同一个对象。 【x名称空间下的扩展标签】     标记扩展实际就是一些MarkupExtension类的直接或间接派生类。x名称空间中就包含一些这样的类所以称其为x名称空间标签的标记扩展。 【x:Type】     顾名思义x:Type应该是一个数据类型的名称。一般情况下我们在编程中操作的数据类型实例或者实例的引用。但有的时候我们也需要用到数据类型本身。   能让程序员在编程的层面上自由的操作这些数据类型比如在不知道具体类型的情况下创建这个类型的实例并尝试调用它的方法.NET命名空间里还包含了名为Type的类作为所有数据类型在编程层面上的抽象。   当我们想在XAML中表达某一数据类型就需要用到x:Type标记扩展。比如某个类的一个属性它的值要求的是一个数据类型当我们在XAML中为这个属性赋值是就需要用到x:Type。请看下面这个例子: 我们先定义一个C#的MyButton class MyButton : Button {public Type UserWndType { get; set; }protected override void OnClick(){base.OnClick();Window wnd Activator.CreateInstance(UserWndType) as Window;if (wnd ! null)wnd.ShowDialog();} };再创建一个名为wnd425的Window 在创建一个Window Window x:ClassWpfApplication4.wnd431xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:local clr-namespace:WpfApplication4Titlewnd431 Height162 Width306 StackPanel BackgroundLightSlateGraylocal:MyButton ContentOK UserWndType{x:Type TypeNamelocal:wnd425}//StackPanel /Window 则运行结果如下点击Ok时弹出新的创建的wnd425的对话框。 【x:Null】     在XAML里面表示空值就是x:Null。   大部分时间我们不需要为属性附一个Null值但如果一个属性有默认值而我们有不需要这个默认值就需要用的null值了。在WPF中Style是按照一个特定的审美规格设置控件的各个属性程序员可以为控件逐个设置style也可以指定一个style目标控件类型一旦指定了目标类型所有的这类控件都将使用这个style----除非你显示的将某个实例的Style设置为null。   请看下面的事例: Window x:ClassWpfApplication4.wnd432xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitlewnd432 Height309.231 Width325.385Window.ResourcesStyle x:Key{x:Type Button} TargetType{x:Type Button}Setter PropertyWidth Value60/Setter PropertyHeight Value36/Setter PropertyMargin Value5//Style/Window.ResourcesStackPanel BackgroundLightSlateGrayButton ContentOK/Button ContentOK/Button ContentOK/Button ContentOK Style{x:Null}//StackPanel /Window 【x:Array】     通过它的item属性向使用者暴露一个类型已知的ArrayList实例ArrayList内成员的类型由x:Array的Type指明。下面这个例子就是把ArrayList做为数据源向一个ListBox提供数据: 由于x:Array的Items属性是只读的所以只能通过标签声明语法添加数据值 Window x:ClassWpfApplication4.wnd434xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:sysclr-namespace:System;assemblymscorlibxmlns:localclr-namespace:WpfApplication4Title{x:Static local:wnd434.ShowString} Height300 Width300ListBox Margin5ListBox.ItemsSourcex:Array Typesys:Stringsys:StringTim/sys:Stringsys:StringTom/sys:Stringsys:StringVictor/sys:String/x:Array/ListBox.ItemsSource/ListBox /Window 【x:Static】     这是一个很常用的标记扩展它的作用是在XAML文档中使用数据类型为static的成员。因为XAML不能编写逻辑代码。所以使用x:Static访问的static成员一定是数据类型的属性和字段。 如果一个程序需要支持国际化一般需要把显示的字符串保存在一个资源类的Static属性中所以支持国际化的程序UI中对x:Static的使用相当的频繁。 【XAML指令元素】 XAML指令元素只有两个: x:Code  x:XData 我们之前已经在代码后置一节介绍过x:Code标签它的作用是可以在XAML文档中编写后置的C#后台逻辑代码这样做的好处就是不需要把XAML和C#分放在两个文档中这样写的问题是代码不容易维护不宜调试一般没有人愿意这么干。   x:XData是一个专用标签。WPF把包含数据的对象称为数据源用于把数据源中的数据提供给数据使用者的对象被称做是数据提供者WPF中包含多种数据提供者其中一个类名叫做XmlDataProvider实例那么XmlDataProvider实例的数据就要放在x:XData的标签内容里。 参考《深入浅出WPF》
http://www.zqtcl.cn/news/114759/

相关文章:

  • 电商 网站模板借钱软件推广微信hyhyk1
  • 免费网站模板psd建网站程序工具
  • 企业建设网站专业服务网站设置文件夹权限
  • 用ip做网站威海市城乡建设局网站
  • 网页网站开发设计工作前景做网站 兼职
  • c 网站开发类似优酷乐山旅游英文网站建设
  • 网站空间租用哪家好小程序免费制作平台企业中心
  • 个人网站可以做哪些主题网站别人做的收到方正侵权
  • 网站seo最新优化方法网络营销做的好的企业
  • 做网站如何防止被坑做的网站第二年续费多钱
  • 做网站注意哪些方面聊城住房建设局网站
  • ftp wordpress 搬站太仓做网站公司
  • php美食网站开发背景天津微外卖网站建设
  • 如何建造企业网站北京金山办公软件公司
  • dedecms织梦搬家公司网站模板贵阳国家经济技术开发区门户网站
  • 网站架构设计师网络工程师的就业前景
  • 网站建设所需人员世界各国o2o响应式网站
  • 成都网站设计最加科技企业宣传片观后感
  • 人社门户网站建设方案非官方网站建设
  • 深圳系统网站开发做家具定制的设计网站
  • 网站制作学费多少钱网络推广的常用方法
  • 个人作品网站模板百度上做网站需要钱吗
  • 苏州网站建设行业研究思路 网站建设
  • 金泉网做网站找谁网站的结构布局
  • 网站开发摊销年限柳州网站建设哪家
  • 佛山市和城乡建设局网站首页武建安装公司新闻
  • 如何宣传商务网站网页制作与设计自考
  • 在国内的服务器上建设国外网站响应式单页网站模板
  • 平湖市住房建设局网站国外代理ip
  • 铁路建设监理网站地推项目发布平台