WPF学习(2)-XAML

          借用网上别人的一个例子来写体会。

<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="20*" ></RowDefinition>
            <RowDefinition Height="100*"></RowDefinition>
        </Grid.RowDefinitions>
        <DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
            <TextBox Background="AliceBlue"></TextBox>
        </DockPanel>
        <Grid Grid.Row="1">
            <Grid.RowDefinitions>
                <RowDefinition Height="20*"></RowDefinition>
                <RowDefinition Height="20*"></RowDefinition>
                <RowDefinition Height="20*"></RowDefinition>
                <RowDefinition Height="20*"></RowDefinition>
                <RowDefinition Height="20*"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="25*"></ColumnDefinition>
                <ColumnDefinition  Width="25*"></ColumnDefinition>
                <ColumnDefinition Width="25*"></ColumnDefinition>
                <ColumnDefinition Width="25*"></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <Button Grid.Row="0">清除</Button>
            <Button Grid.Row="0" Grid.Column="1">清除</Button>
            <Button Grid.Row="0" Grid.Column="2">/</Button>
            <Button Grid.Row="0" Grid.Column="3">*</Button>
            <Button Grid.Row="1">7</Button>
            <Button Grid.Row="1" Grid.Column="1">8</Button>
            <Button Grid.Row="1" Grid.Column="2">9</Button>
            <Button Grid.Row="1" Grid.Column="3">-</Button>
            <Button Grid.Row="2">4</Button>
            <Button Grid.Row="2" Grid.Column="1">5</Button>
            <Button Grid.Row="2" Grid.Column="2">6</Button>
            <Button Grid.Row="2" Grid.Column="3">+</Button>
            <Button Grid.Row="3">1</Button>
            <Button Grid.Row="3" Grid.Column="1">2</Button>
            <Button Grid.Row="3" Grid.Column="2">3</Button>
            <Button Grid.Row="3" Grid.RowSpan="2" Grid.Column="3" Background="Yellow">=</Button>
            <Button Grid.Row="4" Grid.ColumnSpan="2">0</Button>
            <Button Grid.Row="4" Grid.Column="2">.</Button>
        </Grid>
      
    </Grid>
</Window>

  这就是一个基本的小界面,效果如下

       xaml是标记语言,XML,HTML都是如此,所以就是各种各样的标记,开始,结束,在标记放入自己想要放的内容,在标记内,定义属性啦,事件啦,去对应前台界面的行为样式,当然不需要刻意背诵,用多了,就知道了,没事多拉拉控件,然后按照自己对美的标准,调整样式。

       那么既然是标记语言,那么自己是没办法被计算机直接识别的,所以需要有自己的解释器,你只要知道是有个什么鬼东西帮你解释的就行,比如HTML,就是浏览器内置的解释器,WPF程序就是微软的.NET帮你解释的。

      前后台的结合,前台使用了xaml描述了界面,那么C#语言是如何和他配合使用的呢?毕竟,你不可能就光写个界面。其实就是分部类,Window x:Class="WpfApplication2.MainWindow,这句话意思就是在WpfApplication2命名空间下,有一个类叫MainWindow,然后在我们比如写一些事件的.CS内,你可以看到,他的类名字也叫MainWindow,同时前面还有一个关键字partial,就表示有一个东西帮我们把这个类最后整合成一个了,具体运行规则,其实也没有必要知道。

      名称空间,就是你的前台页面如果用到了某个元素或内容,解释器怎么知道是哪一个呢?所以需要给一个名称空间,只不过这个名称空间比较特别,是一串类似于网址的一个字符串,你可以尝试删除前面的网址,就会报错了,如下

      非常明显,就是通过名称空间,找到了元素,根据某个规则来解释的,如果需要调动我们自己写的内容,那么一样的添加引用进来,当然最好有个别名了,不然标记写的就太长啦,不好看。

      属性和事件,比如一个标记,button,你要改变他的样式和行为,那么就是定义属性和事件啦,不同的有不同的效果,需要用的时候看文档,不需要刻意记忆,用多了,自然就记得了。

扫描二维码关注公众号,回复: 4201616 查看本文章

       元素的嵌套,一个好的xaml树形结构,就是要条例清晰,让你一目了然,那么在什么标记里面嵌套不一样的元素,就特别重要,我觉得这个主要还是经验的问题,更多的,可能还是美工来处理,但是咱们搞.NET,有可能压根就没有美工,所以慢慢培养自己的美感,非常重要。

        数据绑定或依赖属性或附加属性,这个后面会讲到,但是只需要简单理解为,就是属性的一种扩展。

猜你喜欢

转载自blog.csdn.net/whjhb/article/details/84317247