WPF的控件和布局

开发工具与关键技术:Visual Studio 2015
作者:刘旭濠
撰写时间:2019年05月15日

首先一开始我们先说下控件的分类,控件它虽然没有数据这些信息重要,但是控件它也是不可缺失的,毕竟控件还是要控制数据这些的呀,比如查看,删除啊这些,要是仔细观察它,控件是分为6类:
布局控件:可以容纳多个控件或嵌套其他布局的控件,用于在UI上组织和排 列控件。其父类为Panel。
内容控件:只能容纳一个控件或者布局控件作为他的内容。所以经常借助布局控件 来规划其内容。其父类为ContentControl。
带标题内容控件:相当于一个内容控件,但是可以加一个标题,标题部分也可以容 纳一个控件或者布局,其父类为HeaderedContentControl。
条目控件:可以显示一列数据,一般情况下,是数据的类型是相同的。其共同的基 类为ItemsControl。
带标题的条目控件:和上面的带标题内容控件类同,其基类 为HeaderdeItemsControl。
特殊内容控件:这类控件比较独立,但也比较常用,如 TextBox,TextBlock,Image等。
比如我的这个控件
WPF的控件和布局
点击则是内容控件Button也算是了至于为什么,因为内容控件的最大的特征就是有一个Content属性, Content接收的是一个Object类型,或许立即想到莫非Button就是一个内容控件, 确实,Button算是一个内容控件,凡是内容控件都继承自ContentControl,因为Content属 性就是属于ContentControl。
Button Margin=“79,86,85.4,45.8” >点击
Margin="79,86,85.4,45.8"这个则是位。
那么什么是控件就是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性是控件数据的 简单访问者,方法则是控件的一些简单而可见的功能、控件创建过程包括设计、开发、调试 (就是所谓的3Ds开发流程,即Design、Develop、Debug)工作, 然后是控件的使用。开发 者应该掌握的三项主要内容是:属性、事件和方法。
接下来我们就说说布局吧(简单的来说就是其他控件还没弄出来不好说(/滑稽))
在xaml里面总共有5个布局,分别是,Grid(网格布局)- DockPanel(泊靠式面板。)- StackPanel(栈式面板)- WrapPane(自动折行面板)- Canvas(画布),它们分别有什么不同呢我们会慢慢说出来的(简单说就是懒)
现在我们先说说Grid网格布局吧,网格布局嘛简单的来说就是把,它的子控件被放在一个一个实现定义好的小格子里面,整齐配列。Grid和其他各个Panel比较起来,功能最多也最为复杂。
那么要使用Grid,首先就要向RowDefinitions和ColumnDefinitions属性中添加一定数量的RowDefinitions和 ColumnDefinitions元素,从而定义行数和列数。 而放置在Grid面板中的控件元素都必须显示采用附加属性语法定义其 放置所在的行和列,它们都是以0为基准的整型 值,如果没有显式设置任何行或 列,Grid将会隐式地将控件加入在第0行第0列。
WPF的控件和布局
和这个一样

<Window x:Class="lowbi.啦啦啦"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Icon="D:\宠物\lowbi\lowbi\images\喜欢.png"
        Title="啦啦啦" Height="300" Width="500">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="1*"/>
            <RowDefinition Height="7*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="3*" />
            <ColumnDefinition Width="11*"/>
        </Grid.ColumnDefinitions>
        <Grid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">
            <Border>
                <Border.Background>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF3CDFFD" Offset="0"/>
                        <GradientStop Color="#FF5DDDF6" Offset="1"/>
                        <GradientStop Color="#FFD5EFF4" Offset="0.503"/>
                    </LinearGradientBrush>
                </Border.Background>

            </Border>
        </Grid>
        <TextBlock Text="  搞个叽叽" Width="100" VerticalAlignment="Center"  FontSize="20" />
    </Grid>
</Window>

调起来也是挺好玩的emmm,这里有点不好说,你们慢慢调试吧
那么Grid的布局比较适用于,Ui布局的大框架设计,大量UI元素需要成行或者成列对齐的情况,UI尺寸改变的时候,元素需要保留固有的宽度和高度比列。布局就到这里了还是挺好玩的