百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

WPF - 4.布局(wpf布局的原则是什么)

liuian 2025-04-08 16:02 34 浏览

摘要

WPF布局原则

  • 一个窗口中只能包含一个元素
  • 屏幕适应程序,不要显示设置的元素(控件)的尺寸,可以设置最小或者最大尺寸
  • 不应使用坐标设置元素的位置
  • 可以嵌套布局容器

正文

Grid面板

通过Grid.RowDefinitions和Grid.CoulmDefinitions去配置和设置网格的行和列,Grid.Row和Grid.Column设置控件在网格的位置,类似于Web开发的Table表格。

  • RowSpan 行合并
  • ColumnSpan 列合并
  • GridSplitter 分隔窗口
  • SharedSizeGroup 共享尺寸组
  • ShowGridLines 显示布局线
  • UseLayoutRounding获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。
  • SnapsToDevicePixels 获取或设置一个值,该值决定呈现元素期间是否应使用设备特定的像素设置。这是一个依赖项属性。

    
    
        
        
    
    
        
        
        
        
        
    
    
    
    

SharedSizeGroup


    
        
        
    
    
        
            
            
            
        
        
    
        
            
            
            
        
        
        

StackPanel面板

StackPanel主要用于垂直或水平排列元素、在容器的可用尺寸内放置有限个元素,元素的尺寸总和(长/高)不允许超过StackPanel的尺寸, 否则超出的部分不可见。

  • Orientation 内容对齐方式

    
    
        
        
    
    
        
            
            
            
        
    

WrapPanel面板

WrapPanel默认排列方向与StackPanel相反、WrapPanel的Orientation默认为Horizontal。WrapPanel具备StackPanel的功能基础上具备在尺寸变更后自动适应容器的宽高进行换行换列处理。

  • WrapPanel布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够时就会自动调整进行换行,后续排序按照从上至下或从右至左的顺序进行。
  • Orientation——根据内容自动换行。当Orientation属性的值设置为 Horizontal:元素是从左向右排列的,然后自上至下自动换行。当Orientation属性的值设置为Vertical:元素是从上向下排列的,然后从左至右自动换行。
  • ItemHeight——所有子元素都一致的高度。每个子元素填充高度的方式取决于它的VerticalAlignment属性、Height属性等。任何比ItemHeight高的元素都将被截断。
  • ItemWidth——所有子元素都一致的宽度。每个子元素填充高度的方式取决于它的VerticalAlignment属性、Width属性等。任何比ItemWidth高的元素都将被截断。

    
        

DockPanel面板

默认DockPanel中的元素具备DockPanel.Dock属性, 该属性为枚举具备: Top、Left、Right、Bottom。默认情况下, DockPanel中的元素不添加DockPanel.Dock属性, 则系统则会默认添加 Left。


    
        

一个对话框


    
        
            
            
        
        
    

Canvas面板

可以把Canvas比作一个坐标系,所有的元素通过设置坐标来决定其在坐标系中的位置。这个坐标系的原点并不是在中央。

Inkcanvas 主要用手写笔的输入

EraseByPoint 5 表示當畫筆與筆劃相交時,畫筆會擦掉部分筆劃。

EraseByStroke 6 表示當畫筆與筆劃相交時,畫筆會擦掉整個筆劃。

GestureOnly 2 表示 InkCanvas 只回應筆勢,但不接收筆墨。

Ink 1 表示 InkCanvas 在收到畫筆傳送的資料時顯示筆墨。

InkAndGesture 3 表示 InkCanvas 回應筆勢且接收筆墨。

None 0 表示當畫筆傳送資料至 InkCanvas 時,不採取任何動作。

Select 4 表示畫筆在 InkCanvas 上選取筆劃和項目。


    

InkCanvas 面板


    
        
        
    
    
        
        
    
    
    
private void Window_Loaded(object sender, RoutedEventArgs e)
{
    foreach (var item in Enum.GetValues(typeof(InkCanvasEditingMode)))
    {
        editMode.Items.Add(item);
    }
    editMode.SelectedIndex = 0;
    cav.EditingMode = (InkCanvasEditingMode)editMode.SelectedValue;
}

private void editMode_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    cav.EditingMode = (InkCanvasEditingMode)editMode.SelectedValue;
}

相关推荐

git的撤销、删除和版本回退_git撤销删除的文件

备注:本文参考于廖雪峰的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。知识点:1、gitstatus,查看git仓库的状态2、gitdiff查看git修改了的内容...

程序员开发必会之git常用命令,git配置、拉取、提交、分支管理

整理日常开发过程中经常使用的git命令!git配置SSH刚进入项目开发中,我们首先需要配置git的config、配置SSH方式拉取代码,以后就免输入账号密码了!#按顺序执行gitconfig-...

Git使用指南 | 教你轻松学会Git_git用法详解

4000字,教大家学会Git使用。一、Git基础1、Git介绍Git是目前世界上最先进的分布式版本控制系统。版本控制系统:设计师在设计的时候做了很多版本经过了数天去问设计师每个版本都改了些啥,设计师此...

深入浅出 Git_深入浅出 gRPC

git初体验使用git前需设置用户名和Email,这些信息会出现在提交记录中以标识作者。gitconfig--globaluser.name"YeHanlin"gitc...

Git不提交指定文件的方法_git不提交指定文件的方法有哪些

大家在开发项目的时候都很喜欢使用git作为代码管理工具,但是在开发项目的时候我们的本地配置文件不应该覆盖服务器中的配置文件,我们使用命令gitstatus查看待提交文件的时候需要注意不要把本地的配...

相见恨晚的 Git 命令动画演示,一看就懂

虽然Git是一个强大的工具,但是我觉得大部分人都会同意我说的:它也可以是一个……噩梦!我一直觉得,使用Git的时候把操作过程在脑海里视觉化会非常有用:当我执行某个命令的时候,分支之间是如何交互...

GitCode的一些命令_git命令大全

GitCode的一些命令配置工具对所有本地仓库的用户信息进行配置$gitconfig--globaluser.name"[name]"对你的commit操作设置关联的用户名$...

【git】 如何删除所有 tag(本地和远程)

要删除所有本地和远程的Git标签,可以按照以下步骤进行:删除本地标签首先,删除本地标签。你可以使用以下命令删除本地的所有标签:gittag-d$(gittag-l)这将列出并删除所有本地...

互联网大漏洞:每600个网站就有1个暴露了.git文件夹

对于Web开发人员来说,向外界暴露你的.git文件夹绝对是一个菜鸟级错误。因为这样会允许任何人下载你的整个源代码存储库,包括数据库密码、加密盐、Hash和第三方接口密钥API,还有你的用户名和密码。多...

git常用命令整理_git 常用

一、Git仓库完整迁移完整迁移,就是指,不仅将所有代码移植到新的仓库,而且要保留所有的commit记录1.随便找个文件夹,从原地址克隆一份裸版本库gitclone--bare旧的git地址...

项目常用GIT操作命令_git常用操作命令 简书

Git仓库更新依赖的命令:gradle--refresh-dependenciesgradleaR完全编译;./gradlewecomm:packages:telephony:larges...

【超详细】Git 所有常用命令 + 提交规范全指南(建议收藏!)

Git命令大全初始化类命令作用gitinit初始化一个本地Git仓库(当前目录会出现.git文件夹)gitclone<仓库地址>克隆远程仓库到本地,一般用来拉项目提交代...

Git 常用的alias命令大全_git -a

Git的alias(别名)功能可以将常用的复杂命令简化,大幅提升操作效率。以下是一些实用的Gitalias配置和常用示例:一、配置alias的方法通过gitconfig命令设置,分...

Git使用教程:最详细、最傻瓜、最浅显、真正手把手教

导读:因为教程详细,所以行文有些长,新手边看边操作效果出乎你的预料。GitHub虽然有些许改版,但并无大碍。一、Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理/流程:Work...

实用干货分享(3)- Git常用操作干货分享

官方学习地址https://git-scm.com/book/zh/v2简单的代码提交流程1.gitstatus查看工作区代码相对于暂存区的差别;2.gitadd.将当前目录下修改的所有...