xaml2009新特性

New WPF Features

http://blogs.msdn.com/llobo/archive/2009/11/25/concluding-new-wpf-features-series.aspx

   基本的特性,大家参考一下,若有遗漏,还请补充

一.支持CLR基本类型

 

http://schemas.microsoft.com/winfx/2006/xaml命名空间默认支持CLR基本类型


之前要在xaml中使用基本类型,必须引用其命名空间
  .net4.0之前

<s:String 
 
 
  
  xmlns
  
  :
  
  s
 
 
  
  
   
   ="clr-namespace:System;assembly=mscorlib"
  
   >Foo</s:String>



.net4.0之后,无需再引用命名空间了,进行了简化

<x:String>Foo</s:String>

 

基本类型包括

• <x:String>

• <x:Char>

• <x:Single>

• <x:Double>

• <x:Boolean>

• <x:Byte>

• <x:Int16>

• <x:Int32>

• <x:Int64>

• <x:Decimal>

• <x:Object>

• <x:Uri>

• <x:TimeSpan>

• <x:Array>

http://blogs.msdn.com/llobo/archive/2009/11/05/xaml-2009-features-built-in-types.aspx

二.泛型支持(x:TypeArguments)


要在xaml中定义动态泛型对象

       <ObservableCollection 
 
 
  
  x
  
  :
  
  TypeArguments
 
 
  
  
   
   ='local:Person'
  
   
                             xmlns='clr-namespace:System.Collections.ObjectModel;assembly=System'  >
            <local:Person Name='Tom' Age='21' />
        </ObservableCollection>


 
http://blogs.msdn.com/llobo/archive/2009/11/19/xaml-2009-features-generics-support.aspx

三.非默认构造函数创建对象((x:Arguments)


之前在xaml中的对象,只能是默认构造函数,灵活性降低,现在

        <local:Person>
            <x:Arguments>
                <x:String>Tom</x:String>
                <x:Int32>21</x:Int32>
            </x:Arguments>
        </local:Person>

 

四.支持静态方法创建对象


如创建一个新的Guid,之间是无法做到的,现在
(1)对象自身静态方法

<p:Guid x:FactoryMethod='NewGuid'/>


(2)其他对象静态方法,可传方法参数

    <coll:List x:Key='list' x:TypeArguments='x:String' x:FactoryMethod='local:Factory.CreateStringList'>
        <x:Arguments>
            <x:String>Mickey,Donald</x:String>
        </x:Arguments>
    </coll:List>

 

http://blogs.msdn.com/llobo/archive/2009/11/20/xaml-2009-features-factorymethod-arguments.aspx

五.已命名对象引用(x:Reference)


之前绑定写法

    <Label Target='{Binding ElementName=firstNameBox}' >_Target</Label>
    <TextBox Name='firstNameBox'>Uses Binding</TextBox>

 

现在

<Label Target= '{x:Reference secondNameBox}'>_Second Target</Label>

 

六.自定义标记扩展

这在之前版本就已经支持了,重在简化开发,差不多就是三行代码可以并成一行代码,不过不是内置的api,大家都懒的去学,有时候没必要,属于自己做着玩的,不过有时候也是必要的,可以关注一下

http://www.cnblogs.com/Clingingboy/archive/2009/02/02/1382444.html

http://blogs.msdn.com/llobo/archive/2009/11/11/xaml-2009-features-xaml-event-handling.aspx

七.动态解析xaml

上面说过,vs2010 beta2还不支持编译以上特性,可以通过动态解析来实现上面功能

http://blogs.msdn.com/llobo/archive/2009/11/09/xaml-2009-features-node-loop-flexibility.aspx

 

.net 4.0版本之后,最大的变化在于将xaml独立了出来(System.Xaml),以上特性只是对xaml进行稍微的增强,其他的可以通过自定义标记扩展来实现.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我没有找到关于VS2022C#的新特性的准确信息。然而,根据引用[1提到的C# 7.0新特性,你可能对以下几点感兴趣: 1. 引用提到了命名空间(namespace)的用法。在C#,命名空间用于组织和管理代码,以避免命名冲突。你可以使用关键字`namespace`来定义命名空间,将代码放置在不同的命名空间。 2. 引用提到了C#的partial类的使用。partial类允许将一个类的定义分成多个部分,在不同的文件进行定义。这个特性可用于实现UI与逻辑的分离,将绘制UI的代码和类的逻辑代码拆分开来。 请注意,以上提到的是C# 7.0的特性,如果你对VS2022C#的新特性感兴趣,我建议你查阅官方文档或其他可靠来源以获取更准确和详细的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [干货来袭! C# 7.0 新特性(VS2017可用)](https://download.csdn.net/download/weixin_38653155/12976737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [VS2022 C# 新语法 using namespace](https://blog.csdn.net/q8812345qaz/article/details/127080222)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [C#入门级-使用VS2022编写C#(包括WPFXAML基础、创建新项目)](https://blog.csdn.net/dlwlrma_516/article/details/127159830)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值