当前位置: 首页> 科技> 数码 > 个性logo设计北京vi设计公司_外贸网站建设渠道_百度竞价恶意点击软件_中山seo排名

个性logo设计北京vi设计公司_外贸网站建设渠道_百度竞价恶意点击软件_中山seo排名

时间:2025/9/4 2:12:59来源:https://blog.csdn.net/lsw2604190117/article/details/143499377 浏览次数:0次
个性logo设计北京vi设计公司_外贸网站建设渠道_百度竞价恶意点击软件_中山seo排名

<Window x:Class="DManager.View.LedgerView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             Height="700"
             Title="Window1">
             <Grid>
             </Grid>
</Window>
对于这段xaml代码

为了给同类标签中某个标签与众不同 可以给他的特征attribute赋值

非空标签 <Tag Attribute1=Value1 Attribute2=Value2>Content</Tag>

空标签  <Tag Attribute1=Value1 Attribute2=Value2 />

区分property 和 attribute

property属于面向对象,在使用面向对象思想编程时 需要对客观事物进行抽象 在把抽象出来的结果封装成类 类中用来表示事物状态的成员就是property

总结就是property(属性)时针对对象而言的 时对象的外在表现

attribute(特征)

xaml是用来在ui上控制组件的 而控件本身就是面向对象抽象的产物

xaml是一种声明式语言 当你见到一个标签 就意味着声明了一个对象 

x:Class="DManager.View.LedgerView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             Height="700"
             Title="Window1">

这些全是window标签的attribute

 

使用partial关键字,可以把一个类分拆在多处定义,只要各部分代码不冲突即可。显然,由XAML解析器生成的LedgerView类在声明时也使用了partial关键字,这样由XAML解析成的类和C#文件里定义的部分就合二为一了。正是由于这种partial机制,我们可以把类的逻辑代码留在.cs文件里,用C#语言来实现,而把那些与声明及布局UI元素相关的代码分离出去,实现UI与逻辑分离。并且,用于绘制UI的代码(如声明控件类型的字段、设置它们的外观和布局等)也不必再使用C#语言,使用XAML和XAML编辑工具就能轻松搞定。

XAML是一种声明性语言,XAML编译器会为每个标签创建一个与之对应的对象

XAML中为对象赋值共有两种方法:

  • 使用字符串进行简单赋值
  • 使用属性元素(Property Element)进行复杂赋值

TypeConverter和TypeConverterAttribute这两个类

从TypeConverter类派生出自己的类,并重写它的一个ConvertFrom方法。这个方法有一个参数名为value,这个值就是在XAML文档里为它设置的值,我们要做的就是把这个值“翻译”成合适类型的值赋给对象的属性:

public class StringToHumanTypeConverter : TypeConverter
{public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value){if (value is string){Human h = new Human();h.Name = value as string;return h;}return base.ConvertFrom(context, culture, value);}
}

 还要使用TypeConverterAttribute这个特征类把StringToHumanTypeConverter这个类“粘贴”到作为目标的Human类上。

[TypeConverterAttribute(typeof(StringToHumanTypeConverter))]
public class Human{public string Name { get; set; }public Human Child { get; set; }}

 

关键字:个性logo设计北京vi设计公司_外贸网站建设渠道_百度竞价恶意点击软件_中山seo排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: