大浪做网站公司微网站 小程序 区别

当前位置: 首页 > news >正文

大浪做网站公司,微网站 小程序 区别,做视频赚钱的好网站,多元 集团 网站建设方案使用Visual Studio开发工具#xff0c;我们可以编写在Windows系统上运行的桌面应用程序。其中#xff0c;WPF#xff08;Windows Presentation Foundation#xff09;项目是一种常见的选择。然而#xff0c;对于初学者来说#xff0c;WPF项目中xaml页面的布局设计可能是一…使用Visual Studio开发工具我们可以编写在Windows系统上运行的桌面应用程序。其中WPFWindows Presentation Foundation项目是一种常见的选择。然而对于初学者来说WPF项目中xaml页面的布局设计可能是一个难点。下面将简要介绍WPF项目中xaml页面的基础布局知识。 文章目录 页面布局网格布局Grid 层叠布局Grid 内联布局WrapPanel 块布局StackPanel 弹性布局DockPanel 一些控件Border 如果还不知道怎么创建WPF项目 可以看以下文章回顾一下再来 Windows系统桌面应用程序编程开发新手入门-打造自己的小工具 学过web前端页面设计的同学应该很熟悉等看完这篇文章相信你很快就会掌握了。 页面布局 首先看看页面布局文件带后缀名xaml的是页面布局文件内容如下 Window x:ClassWpfApp4.MainWindow…xmlns:localclr-namespace:WpfApp4mc:IgnorabledTitleMainWindow Height450 Width800Grid!– 这里开始添加控件布局 –/Grid /Window其中xmlns:localclr-namespace:WpfApp4是指定本地可用控件local的命令空间 接下来讲一讲通常用到的布局容器控件这些控件下是可以有多个子控件的 网格布局 从上面的页面可以看到常用的是Grid控件如何使用它呢 Grid 这个控件Grid是网格面板可以将所有子控件按行和列数进行布局。 往里面添加的一些控件默认是放在第一个格子位置上通过设置它的列数和行数来确定子控件的位置内容如下 GridGrid.RowDefinitionsRowDefinition/RowDefinition/Grid.RowDefinitionsGrid.ColumnDefinitionsColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinition/Grid.ColumnDefinitionsButton ContentHello zs1028 Grid.Row0 Grid.Column0 /Button ContentHello zs1028 Grid.Column1 /Button ContentHello zs1028 Grid.Column2 /Button ContentHello zs1028 Grid.Column3 /Button ContentHello zs1028 Grid.Column4 /Button ContentHello zs1028 Grid.Column5 //Grid其中 Grid.Row0 Grid.Column0是决定网格位置的可不设置因为默认均是0 显示效果如下图
若要限制网格为2行需要在/RowDefinition标签后面再加一行 RowDefinition/RowDefinition继续添加子控件设置Grid.Row1 即可放置在第二行 若要进一步限制其中的列宽就设置一个属性内容如下 ColumnDefinition Width100/ColumnDefinition层叠布局 在网格布局中所有子控件不设置行列数就是默认都在第一个网格是可以层叠存放的 Grid 用网格布局就行它可以实现层叠布局 GridButton ContentNo.1 zs1028 HorizontalAlignmentCenter VerticalAlignmentCenter /Button ContentNo.2 zs1028 HorizontalAlignmentCenter VerticalAlignmentTop /Button ContentNo.3 zs1028 HorizontalAlignmentCenter VerticalAlignmentBottom /Button ContentNo.4 zs1028 HorizontalAlignmentLeft VerticalAlignmentCenter /Button ContentNo.5 zs1028 HorizontalAlignmentRight VerticalAlignmentCenter /Button ContentNo.6 zs1028 HorizontalAlignmentCenter VerticalAlignmentCenter / /Grid显示效果如下图 避免子控件被上下层控件覆盖至看不见需要设置属性 通过其HorizontalAlignment和VerticalAlignment属性来控制子控件如何选择上下左右居中放置 还有个选择值为Stretch不常用它表示往水平或者垂直方向填充 内联布局 也是在静态布局中的说法所有子控件都是内联控件要设置宽高 若不设置的子控件会由系统默认自动调整最小宽高 WrapPanel 这个控件WrapPanel是自动换行面板可以将所有子控件按顺序排列从左到右当空间宽度不足存放时剩下的子控件才会自动换行放置在下面。 WrapPanelButton ContentHello zs1028 /Button ContentHello zs1028 /Button ContentHello zs1028 /Button ContentHello zs1028 /Button ContentHello zs1028 /Button ContentHello zs1028 / /WrapPanel显示效果如下图
块布局 也是在静态布局中的说法所有子控件都是块控件占用整行或者整列 StackPanel 这个控件/StackPanel是堆栈面板可以将控件按顺序垂直或水平排列, 是一种常用来布局的面板 它可以在单个方向水平或垂直上排列其子元素 设置属性Orientation值有 Horizontal 水平Vertical 垂直 往里面添加的一些控件是堆起来放的内容如下 StackPanel BackgroundGrayButton ContentHello zs1028 /Button ContentHello zs1028 /Button ContentHello zs1028 /Button ContentHello zs1028 /Button ContentHello zs1028 /Button ContentHello zs1028 / /StackPanel可设置属性Margin”10,5“的边距来调整控件距离父级控件和相邻控件的位置 默认占整行显示效果如下图
将属性改成OrientationHorizontal会占整列显示效果如下 这里与之前的控件WrapPanel不同的是它是不会自动换行超出的部分会被遮挡 弹性布局 DockPanel 这个控件DockPanel是停靠用的面板可以将所有子控件停靠在面板的四个边缘, 需要决定布局方向通过属性DockPanel.Dock可设置子控件在上下左右方向布局 属性DockPanel.Dock决定子控件的布局位置其值有 TopLeftRightBottom 如DockPanel.DockTop 决定布局位置在上边内容如下 DockPanel Margin0,0,0,0DockPanel DockPanel.DockTopTextBlock TextHello zs1028 //DockPanelStackPanel BackgroundGrayLabel Content填充区域 //StackPanel /DockPanel如果第一个控件设置了Top或者Buttom父控件会将所有子控件按照上下垂直方向布局 如果设置了Left或者Right那就是按照左右水平方向布局 显示效果如下 最后一个控件大小是不受控制的因为这会填充剩余空间 如果不想被用来填充就设置父控件LastChildFillFalse内容如下 DockPanel Margin0,0,0,0 LastChildFillFalseDockPanel DockPanel.DockTopTextBlock TextHello zs1028 //DockPanelStackPanel BackgroundGrayLabel Content填充区域 //StackPanel /DockPanel显示效果图如下 可发现如果布局方向是垂直的它只给填充了高度 果然填充的都是最后一个控件 那如果要填充第一个控件应该怎么办呢内容如下 DockPanel Margin0,0,0,0DockPanel DockPanel.DockBottomTextBlock TextHello zs1028 //DockPanelStackPanel BackgroundGrayLabel Content填充区域 //StackPanel /DockPanel效果图如下
没错吧看布局方向只要设置DockPanel.DockBottom它就会放到下边 布局规律不变最后的子控件可在父控件里的最上边填充 一些控件 还有一些控件都只能有一个子控件多个子控件它是会报错误的要注意区分 Border 这个控件可以给子控件添加边框的效果 修改边框控件的属性内容如下 Grid Margin0,0,0,0Border Width100 Height50 BorderThickness2 BorderBrushBlue CornerRadius10TextBlock TextHello zs1028 //Border /Grid边框的属性如下 BorderThickness“2” 宽度BorderBrush“Blue” 颜色CornerRadius“10” 圆角 还可以设置边框的属性Padding10添加内边距 就写到这里吧其它控件不是很常用这里就不多讲如果有需要请查阅官网文档XAML布局自行研究。