浙江网站建设设计wordpress菜单添加链接
news/
2025/9/30 16:49:29/
文章来源:
浙江网站建设设计,wordpress菜单添加链接,论述网站建设的主要步骤,互联网技术论坛WPF布局原则
不应显式设置大小
为了布局的稳定性#xff0c;控件的大小应该可以自动适应容器。如下为新建一个窗体#xff0c;默认包含一个Grid容器#xff0c;该控件没有显式设置宽高#xff0c;所以#xff0c;在改变窗体大小的时候#xff0c;该容器的大小也随着变化…WPF布局原则
不应显式设置大小
为了布局的稳定性控件的大小应该可以自动适应容器。如下为新建一个窗体默认包含一个Grid容器该控件没有显式设置宽高所以在改变窗体大小的时候该容器的大小也随着变化但如果显式的加了宽或高在改变窗体大小后该容器的大小受限并且位置不再稳定 使用相对坐标
容器的子元素应该以父级位置相对定位而不是使用窗体的坐标
与子元素共享空间
如果空间允许布局容器会根据每个元素的内容尽可能为元素设置更合理的尺寸。它们还会向一个或多个子元素分配多余的空间
支持嵌套布局
多种容器可相互嵌套使用完成最优布局
StackPanel 控件
它是一个布局容器在单行单列中放置子元素叫做堆栈面板
在窗体中添加一个StackPanel容器在工具箱中先择StackPanel控件将其拖动到窗体上在这里StackPanel容器被嵌套在了Grid容器中也可以将Grid容器删除单独使用StackPanel容器StackPanel的默认XMAL标签是个单标签如果需要在StackPanel中包含子级需要将其设置为双标签格式 将StackPanel所有的属性先删除掉然后添加一个标签控件三个按钮控件一个文本框控件效果如下可以看出StackPanel默认会将子元素垂直排列 可以通过Orientation属性来控制子元素排列方向
OrientationHorizontal 表示水平排列
OrientationVertical 表示垂直排列它是默认的 HorizontalAlignment属性可以控制子元素水平方向的位置控制元素是靠左还中靠右等
该属性对应的值有Right/Left/Center/Stretch该属性只对于横向伸展垂直排列的元素有效果
HorizontalAlignmentRight表示将元素水平区于右结果如下图 VerticalAlignment属性可以控制子元素垂直方向的位置
VerticalAlignment对应的值有Bottom/Center/Stretch/Top
VerticalAlignmentTop会将横向分布垂直伸展的元素区于上方如下图 因为子元素的排列方向发生了变化这里看到HorizontalAlignmentRight已经不再起作用
Margin属性为元素添加外边距
Margin10,15,20,25的四个值分别表示左、上、右、下的位置如下图 如果Margin属性只有一个值的话表示的是上下位置如果只有两个值的话第一个值表示上下第二个值表示的是左右
MinWidth属性可以控制元素的最小尺寸也就是说该元素不可以小于设定的最小宽度值
MaxWidth属性可以控制元素的最大尺寸也就是说该元素不可以大于设定的最大宽度值
Border控件
Border 是一个装饰的控件用此控件绘制一个边框、一个背景.在 Border 中只能有一个子控件但它的子控件是可以包含多个子控件的
示例与代码如下 BorderStackPanel OrientationVerticalLabel ContentLabel/Button ContentButton /Button ContentButton /Button ContentButton /TextBox Height23 TextWrappingWrap TextTextBox//StackPanel/Border
从上例可以看出Border中只包含了一个子元素StackPanel而StackPanel中包含了多个子元素
BorderThickness属性可以设置Border控件边的宽度而BorderBrush属性可以设置边的颜色如下 Border BorderThickness16 BorderBrushBlueVioletStackPanel OrientationVerticalLabel ContentLabel/Button ContentButton /Button ContentButton /Button ContentButton /TextBox Height23 TextWrappingWrap TextTextBox/Border BorderBrushBlack BorderThickness1 Height100//StackPanel/Border
Padding属性可以为元素设置内填充效果如下 Border BorderThickness16 BorderBrushBlueViolet Padding30StackPanel OrientationVerticalLabel ContentLabel/Button ContentButton /Button ContentButton /Button ContentButton /TextBox Height23 TextWrappingWrap TextTextBox/Border BorderBrushBlack BorderThickness1 Height100//StackPanel/Border
CornerRadius属性可以为Border控件设置边度的弧度如下图 Border BorderThickness16 BorderBrushBlueViolet Padding30 CornerRadius45StackPanel OrientationVerticalLabel ContentLabel/Button ContentButton / Button ContentButton /Button ContentButton /TextBox Height23 TextWrappingWrap TextTextBox/Border BorderBrushBlack BorderThickness1 Height100//StackPanel/Border
WrapPanel面板
WrapPanel容器将子元素按行或列一个接一个进行排列如果一行或一列放不下元素会被挤到下一行或一列同一行元素的高度一样同一列元素的宽度是一样的
示例如下 Window x:ClassWPF_Code.WarpPanel_wpfxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitleWarpPanel_wpf Height300 Width300WrapPanelButton ContentButton /Button ContentButton /!--这里只设置了一个button的高度与它同一行的元素都变成了一样的高度--Button ContentButton Height30 /Button ContentButton /Button ContentButton /Button ContentButton /Button ContentButton /Button ContentButton //WrapPanel
/Window Window x:ClassWPF_Code.WarpPanel_wpfxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitleWarpPanel_wpf Height300 Width300!--将WrapPanel元素排列方向改为垂直方向--WrapPanel OrientationVertical!--在垂直方向上如果改变一个元素的高度的话对其它元素没有影响--Button ContentButton Height164 /Button ContentButton /!--在垂直方向上如果改变一个元素的宽度则同列上的元素的宽度都会有变化--Button ContentButton Width100 /Button ContentButton /Button ContentButton /Button ContentButton /Button ContentButton /Button ContentButton //WrapPanel
/Window
DockPanel面板
DockPanel支持让元素简单地停靠在整个面板的某一条边上然后拉伸元素以填满全部宽度或高度。它也支持让一个元素填充其他已停靠元素没有占用的剩余空间
DockPanel有一个Dock附加属性因此子元素用4个值来控制她们的停靠Left、Top、Right、Bottom。Dock 没有Fill值。作为替代最后的子元素将加入一个DockPanel并填满所有剩余的空间除非DockPanel的LastChildFill属性为false它将朝某个方向停靠
示例如下 Window x:ClassWPF_Code.WarpPanel_wpfxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitleWarpPanel_wpf Height300 Width300DockPanelButton ContentButton/Button ContentButton/Button ContentButton/Button ContentButton/Button ContentButton//DockPanel
/Window
默认情况下元素会依次横向排列并填充整个空间 Window x:ClassWPF_Code.WarpPanel_wpfxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitleWarpPanel_wpf Height300 Width300!--LastChildFillTrue允许最后一个元素填充整个空间默认是Ture--DockPanel LastChildFillTrue!--DockPanel.Dock属性可控制元素在DockPanle中依靠的位置--Button ContentButton DockPanel.DockTop /Button ContentButton DockPanel.DockBottom/Button ContentButton DockPanel.DockLeft/Button ContentButton DockPanel.DockRight/Button ContentButton//DockPanel
/Window
嵌套布局容器
一个简单示例 Window x:ClassWPF_Code.WarpPanel_wpfxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlTitleWarpPanel_wpf Height300 Width300!--一个DockPanel容器LastChildFill允许最后一个元素填充整个剩余空间--DockPanel LastChildFillTrue!--嵌套一个StackPanel容器将子元素横向排列并领先到DockPanel的底部然后居中--StackPanel DockPanel.DockBottom HorizontalAlignmentCenter OrientationHorizontalButton Namebtn1 ContentOK Padding10/Button Namebtn2 ContentNo Padding10//StackPanel!--DockPanel的最后一个元素默认填充整个剩余空间--TextBox DockPanel.DockTop文本输入……/TextBox/DockPanel
/Window
注可以通过文档大纲栏来查看元素节点树状图 编辑于 2018-09-13
Windows Presentation Foundation (WPF)
C# 编程
程序员
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923076.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!