• XAMl使用其他命名空间中的类型及加载和编译


    以前我们讲过XAMl命名空间。为了使便宜钱知道XAMl文档中元素对应的.NET类型,需要知道XAMl明档中指定特定的两个命名空间。XAML是一种实例化.NET对象的通用方法

    ,除了可以实例化一些标准的WPF UI对象之外,也可以实例化开发人员自定义的,不属于WPF命名空间.NET对象,或者是属于.NET框架中的其他命名空间中的对象。

    为了在XAMl中使用在其他命名空间或程序集中定义的类型,可以使用如下语法:

      

    <xmlns:d="clr-namespace:NameSpace;assembly=AssenblyName"

    通常将命名空间映射的XAMl代码放在根元素中,最好是放在WPF和XAMl命名空间的后面。开发人员需要为d、namespace和assemblyname指定相应的信息,分别代表的意思

      d:用于指定希望在Xaml文档中使用的命名空间前缀,类似于XAMl命名空间使用的x:前缀,可以使用任意字符

      NameSpace:是完整的.NET命名空间的名字。

      AssemblyName:这是类型被定义的程序集名称,不用指定.dll扩展名,这个程序集必须被当前的WPF项目所引用。如果需要引用项目中的其他类,

    通常可以省略这个程序集的名称。

      例如:.NET的类型是定义在System命名空间中,并且位于Mscorlib.dll程序集中,为了使用.NET CLR类型系统,可以是用如下的命名空间

    <xmlns:sys=“clr-namespace:system;assembly=mscorlib”>

    挡在XAMl文档的根元素中指定该命名空间的引用后,就可以在XAML文档中使用一些简单的.NET类型,比如stirng date int

    <s:DateTime>2012-12-01</s:DateTime>

    加载和编译XAML

      WPF和XAML是分离的。一个WPF应用程序可以没有XAMl文件,也可以只具有XAMl文件。在创建一个WPF应用程序时,可能会有如下3中类型的代码风格

        1.没有XAMl文件,只有代码的应用程序:类似于传统的Windows Form应用程序,通过程序代码来生生成用户界面。在Windows Form中,尽管vs可以通过设计窗口来可视化用户界面

    在后台,vs将会自动生成用于实例化对象的代码

        2.代码和为编译的XAMl标记:在一些需要非常灵活和动态的用户界面来说,这是比较常用的一种方法,开发人员可以在运行时使用XamlReader类来加载一个为编译的XAMl XamlReader

    类位于System.Windows.markup命名空间中。

        3.代码和已经译号的XAMl:以编译后的XAML又被称为BAML,通常以程序集资源的形式进行保存,这是vs 2012默认支持的开发方法。

      

  • 相关阅读:
    Springmvc
    Mybatis关联关系
    Mybatis整合ehcache 和 redis
    Mybatis与spring集成
    MyBatis动态sql和分页
    MyBatis入门
    Vue模板语法(二)
    Vue模板语法(一)
    Spring---SSH整合(二)
    Spring---SSH整合
  • 原文地址:https://www.cnblogs.com/xiaowie/p/9309884.html
Copyright © 2020-2023  润新知