【上位機——WPF】布局控件

布局控件

  • 常用布局控件
  • Panel基類
  • Grid(網格)
  • UniformGrid(均勻分布)
  • StackPanel(堆積面板)
  • WrapPanel(換行面板)
  • DockerPanel(停靠面板)
  • Canvas(畫布布局)
  • Border(邊框)
  • GridSplitter(分割窗口)

常用布局控件

  1. Grid:網格,根據自定義行和列來設置控件的布局
  2. StackPanel:棧式面板,包含的元素在豎直或水平方向排成一條直線
  3. WrapPanel:自動折行面板,包含的元素在排滿一行后,自動換行
  4. DockPanel:泊靠式面板,內部的元素可以選擇泊靠方向
  5. UniformGrid:網格,UniformGrid就是Grid的簡化版,每個單元格的大小相同
  6. Canvas:畫布,內部元素根據像素為單位絕對坐標進行定位。
  7. Border:裝飾的控件,此控件用于繪制邊框及背景,在Border中只能有一個子控件

這里除了Border控件,其他控件都繼承于Panel基類。

Panel基類

所有Panel元素都支持FrameworkElement定義的基本大小調整和定位屬性,包括Height、Width、HorizontalAlignment、VerticalAlignment、Margin和LayoutTransform。Panel公開對了解和使用布局至關重要的其他屬性。Background屬性用于借助Brush填充派生面板元素的邊界之間的區域。Children表示組成Panel的子元素集合。InternalChildren表示Children集合的內容以及由數據綁定生成的成員。兩者均由父Panel內承載的子元素的UIElementCollection組成。

Panel提供了附加屬性,ZIndex。假如一個單行單列的Grid布局控件中有兩個Button,正常情況下,這兩個Button都會以撐滿Grid中,那么到底哪一個Button在上面,哪一個在下面。就看這兩個Button的Panel.ZIndex附加屬性的值,值越大的在上面,而值較小的那個Button將被上面的Button遮蓋,從而在視覺上,用戶只能看到一個Button。

    <Grid Background="AliceBlue" PreviewMouseUp="Grid_PreviewMouseUp"><Button Panel.ZIndex="2" Content="按鈕1" Width="200"  Height="30"/><Button Panel.ZIndex="0" Content="按鈕2" Width="200" Height="30"/></Grid>

Grid(網格)

Grid控件是WPF中所有布局控件中最好用的一個,因為它是自適應屏幕的寬度,最關鍵的一點是,它在呈現時,其ActuaWidth實際寬度和ActualHeight實際高度會有一個計算值,我們在業務開發中,有時候要根據父控件的實際寬度和高度來計算子控件的呈現位置和大小。

<Window x:Class="WpfApp1.MyGrid"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApp1"mc:Ignorable="d"Title="MyGrid" Height="450" Width="800"><!--展示線條--><Grid ShowGridLines="True"><!--三行--><Grid.RowDefinitions><RowDefinition Height="*" /> <!--Height="100" 固定高度--><RowDefinition Height="2*"/> <!--Height="2*" 等比例的高度--><RowDefinition Height="2*"/> <!--Height="Auto" 跟隨文本的高度--></Grid.RowDefinitions><!--兩列--><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition Width="Auto"/> <!--Width="Auto" 跟隨文本的寬度--></Grid.ColumnDefinitions><!--第一行第一列--><!--Grid.RowSpan="2" 合并單元格行--><TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Grid.RowSpan="2" Text="文本1" Grid.Row="0" Grid.Column="0" FontSize="30"/><!--第一行第二列--><TextBlock Text="文本2" Grid.Row="0" Grid.Column="1" FontSize="30"/><!--<TextBlock Text="文本3" Grid.Row="1" Grid.Column="0" FontSize="30"/>--><TextBlock Text="文本4" Grid.Row="1" Grid.Column="1" FontSize="30"/><!--Grid.ColumnSpan="2" 合并單元格列--><TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Grid.ColumnSpan="2"Text="文本5" Grid.Row="2" Grid.Column="0" FontSize="30"/><!--<TextBlock Text="文本6" Grid.Row="2" Grid.Column="1" FontSize="30"/>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82103.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82103.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82103.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

打卡Day33

簡單的神經網絡 數據的準備 # 仍然用4特征&#xff0c;3分類的鳶尾花數據集作為我們今天的數據集 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split import numpy as np# 加載鳶尾花數據集 iris load_iris() X iris.data # …

python開發環境管理和包管理

在 Python 開發中&#xff0c;環境管理 和 包管理 是兩個非常重要的概念。它們幫助開發者&#xff1a; 這里寫目錄標題 一、什么是 Python 環境管理&#xff1f;二、什么是 Python 包管理&#xff1f;三、常見文件說明&#xff08;用于包管理和環境配置&#xff09;四、典型流程…

Mybatis面向接口編程

添加與Mapper接口的映射 <!--UserMapper.xml--> <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> …

GMP模型入門

go的并發實現采用的是M:N的線程模型&#xff0c;落地就是gmp模型。 M:N模型如下圖&#xff1a; gmp模型如下圖&#xff1a; --- Go 的 GMP 模型是其 高效并發調度機制的核心。GMP 代表&#xff1a; G&#xff1a;Goroutine&#xff08;用戶態線程&#xff09; M&#xff1a;…

達夢數據庫-報錯-01-[-3205]:全文索引詞庫加載出錯

目錄 一、環境信息 二、說點什么 三、模擬實驗 1、前臺啟動數據庫 2、重建全文索引報錯 3、日志信息 4、查找SYSWORD.UTF8.LIB 5、想一想加做一做 6、重啟數據庫 7、重建全文索引 8、總結 一、環境信息 名稱值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系統CentO…

經典密碼學和現代密碼學的結構及其主要區別(1)維吉尼亞密碼—附py代碼

Vigenre cipher 維吉尼亞密碼 維吉尼亞密碼由布萊斯德維吉尼亞在 16 世紀發明&#xff0c;是凱撒密碼的一個更復雜的擴展。它是一種多字母替換密碼&#xff0c;使用一個關鍵字來確定明文中不同字母的多個移位值。 與凱撒密碼不同&#xff0c;凱撒密碼對所有字母都有固定的偏移…

Ubuntu部署私有Gitlab

這個東西安裝其實挺簡單的&#xff0c;但是因為我這邊遷移了數據目錄和使用自己安裝的 nginx 代理還是踩了幾個坑&#xff0c;所以大家可以注意下 先看下安裝 # 先安裝必要組件 sudo apt update sudo apt install -y curl openssh-server ca-certificates tzdata perl# 添加gi…

【JVM 02-JVM內存結構之-程序計數器】

程序計數器 筆記記錄 1. 定義2. 作用3. 特點4. 拓展理解4.1 PC寄存器存儲字節碼指令地址有什么用&#xff1f;4.2 PC寄存器為什么被設定為線程私有的&#xff1f;4.3 為什么執行native方法時&#xff0c;是undefined&#xff1f; 學習資料來源-b站黑馬JVM& 尚硅谷JVM精講與…

【node.js】數據庫與存儲

個人主頁&#xff1a;Guiat 歸屬專欄&#xff1a;node.js 文章目錄 1. 數據庫概述1.1 數據庫在Node.js中的作用1.2 Node.js支持的數據庫類型 2. 關系型數據庫集成2.1 MySQL與Node.js2.1.1 安裝MySQL驅動2.1.2 建立連接2.1.3 執行CRUD操作 2.2 PostgreSQL與Node.js2.2.1 安裝pg驅…

Windows10和Ubuntu24.04安裝Dify

1、win10上安裝docker不順利 參考&#xff1a;Dify的安裝_dify安裝-CSDN博客等資料&#xff0c;Dify依賴Docker運行&#xff0c;在Win10上安裝Docker&#xff0c;先安裝wsl。在PowerShell(管理員)中輸入&#xff1a; wsl --install 或顯示“找不到指定文件”&#xff0c;或顯示…

電網絕緣子及破損、閃絡缺陷YOLO數據集

概述 電網絕緣子及破損、閃絡缺陷YOLO數據集??&#xff0c;專為輸電線路缺陷檢測任務設計&#xff0c;可幫助開發者快速構建智能化識別模型。 主要內容 ??數據集規模?? 訓練集&#xff1a;2004張標注圖像驗證集&#xff1a;907張標注圖像所有數據均經過嚴格篩選與標注&…

5.2.4 wpf中MultiBinding的使用方法

在 WPF 中,MultiBinding 允許將多個綁定(Binding)組合成一個邏輯結果,并通過一個轉換器(IMultiValueConverter)處理這些值,最終影響目標屬性。以下是其核心用法和示例: 核心組件: MultiBinding:定義多個綁定源的集合。 IMultiValueConverter:實現邏…

基于SpringBoot+Vue的足球青訓俱樂部管理后臺系統的設計與開發

項目背景與概述 隨著足球青訓行業的快速發展&#xff0c;如何高效、規范地管理學員、教練以及課程等日常工作&#xff0c;成為了青訓俱樂部運營的重要課題。為了提升俱樂部的管理效率與用戶體驗&#xff0c;基于 Spring Boot 和 Vue.js 開發了一個 足球青訓俱樂部管理后臺系統…

互聯網大廠Java求職面試:云原生架構與AI應用集成解決方案

互聯網大廠Java求職面試&#xff1a;云原生架構與AI應用集成解決方案 場景一&#xff1a;短視頻與直播平臺的高并發架構設計 面試官提問 面試官&#xff08;技術總監&#xff09;&#xff1a; 鄭薪苦&#xff0c;你有處理過千萬級用戶同時在線的直播系統嗎&#xff1f;如何設…

RK3588 Opencv-ffmpeg-rkmpp-rkrga編譯與測試

RK3588 Opencv-ffmpeg-rkmpp-rkrga編譯與測試 硬件背景說明編譯環境準備1. 編譯MPP(媒體處理平臺)2. 編譯RGA(圖形加速庫)3. 構建支持硬件加速的FFmpeg重要代碼修改說明4. 驗證安裝5.FFmpeg轉碼測試OpenCV編譯集成Python OpenCV+FFmpeg測試硬件背景說明 RK3588是瑞芯微推出…

解鎖C++遞歸算法:從原理到實戰

遞歸算法初相識 ** 在 C 的奇妙世界里&#xff0c;遞歸算法就像是一把神奇的鑰匙&#xff0c;能夠開啟解決復雜問題的大門。那么&#xff0c;究竟什么是遞歸算法呢&#xff1f;簡單來說&#xff0c;遞歸算法就是一種函數調用自身的編程技巧。當一個函數在其定義中直接或間接地…

vue2+webpack環境變量配置

第一步&#xff1a;創建3個環境變量文件 1、創建> 生產&#xff08;本地&#xff09;環境 .env.development # 開發環境 ENVdevelopment VUE_APP_MEDIA_BASE調后端請求的地址2、創建> 測試環境 .env.staging # 測試環境 ENVstaging VUE_APP_MEDIA_BASE調后端請求的地址…

【通用智能體】Intelligent Internet Agent (II-Agent):面向復雜網絡任務的智能體系統深度解析

Intelligent Internet Agent &#xff08;II-Agent&#xff09;&#xff1a;面向復雜網絡任務的智能體系統深度解析 一、系統架構與設計哲學1.1 核心架構設計1.2 技術創新點1.2.1 動態任務分配機制1.2.2 網絡狀態感知模塊 二、系統架構解析2.1 完整工作流程2.2 性能指標對比 三…

力扣第450場周賽

Q1. 數位和等于下標的最小下標 給你一個整數數組 nums 。 返回滿足 nums[i] 的數位和&#xff08;每一位數字相加求和&#xff09;等于 i 的 最小 下標 i 。 如果不存在滿足要求的下標&#xff0c;返回 -1 。 示例 1&#xff1a; 輸入&#xff1a;nums [1,3,2] 輸出&#xff1…

【氮化鎵】偏置對GaN HEMT 單粒子效應的影響

2025年5月19日,西安電子科技大學的Ling Lv等人在《IEEE Transactions on Electron Devices》期刊發表了題為《Single-Event Effects of AlGaN/GaN HEMTs Under Different Biases》的文章,基于實驗和TCAD仿真模擬方法,研究了單粒子效應對關斷狀態、半開啟狀態和開啟狀態下AlG…