XAML 基础

在上面章节中,我们描述了什么是XAML,并且说明了他可以用来做什么,但是怎么样使用XAML来创建一个控件呢?下面的例子将来说明,其实在XAML创建一个控件非常容易,是由尖括号包围,比如,一个按钮是这样创建的。

<Button>

但是XAML必须是有结尾标签的,你可以使用结尾标签或者使用/来做为结束标签,比如:

<Button></Button>

或者

<Button />
很对的标签都允许你在开始标签和结尾标签之间写一些内容的,举个例子,按钮标签允许你在标签中间加上你要显示的文字,

<Button>A button</Button>

HTML是不区分大小写的,但是XAML因为一个标签名字相当于在.NET Framword里面的一个类,同样哪些属性名称也就相当于一个控件的属性,下面的Button按钮我们加了一些属性。

<Button FontWeight="Bold" Content="A button" />
我们设置粗体,这样会给我们现实粗体文字,我们要设置内容属性,就在按钮的开始和结束标签之间写上我们要显示的文字。但是一个Button的属性也有可能像下面这样定义,作为主标签的子标签。例如:

<Button>
    <Button.FontWeight>Bold</Button.FontWeight>
    <Button.Content>A button</Button.Content>
</Button>

显示的效果跟上面是一样的,但是很多控件不仅仅只能显示文本,我们这里有个例子,在一个按钮里面显示多个其他的控件。例如:


<Button>
    <Button.FontWeight>Bold</Button.FontWeight>
    <Button.Content>
        <WrapPanel>
            <TextBlock Foreground="Blue">Multi</TextBlock>
            <TextBlock Foreground="Red">Color</TextBlock>
            <TextBlock>Button</TextBlock>
        </WrapPanel>
    </Button.Content>
</Button>


显示的效果如下:


因为Content属性节点只能允许一个子节点,所以我们就使用WrapPanel来包含不同的文字控件,WrapPanel在WPF扮演了一个非常重要的角色,我们将会在后面的章节中详细讨论,现在只需要知道它可以包含多个容器就可以了。


希望上面的例子给你呈现的是XAML是容易去编写的,但是有很多方式去做到同样的效果,如果你觉得上面的效果需要用很多的标记语言来描写的话,你可以试着对比下如果使用C#去做同样一件事的话,它的代码如下:

Button btn = new Button();
btn.FontWeight = FontWeights.Bold;

WrapPanel pnl = new WrapPanel();

TextBlock txt = new TextBlock();
txt.Text = "Multi";
txt.Foreground = Brushes.Blue;
pnl.Children.Add(txt);

txt = new TextBlock();
txt.Text = "Color";
txt.Foreground = Brushes.Red;
pnl.Children.Add(txt);

txt = new TextBlock();
txt.Text = "Button";
pnl.Children.Add(txt);

btn.Content = pnl;
pnlMain.Children.Add(btn);

通过上面的代码我们可以看到使用C#代码相比XAML,做同样的效果,XAML会简洁很多。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值