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

WPF布局面板

StackPanel

StackPanel 是一种常用的布局控件,可以支持水平或垂直排列,但不会换行。当子元素添加到 StackPanel 中时,它们将按照添加的顺序依次排列。默认情况下,StackPanel 的排列方向是垂直的,即子元素将从上到下依次排列。可以使用 Orientation 属性更改排列方向。可以设置两种排列方式:横排(Horizontal)和竖排(Vertical,默认)。水平排列时,每个元素都与面板一样高;垂直排列时,每个元素都与面板一样宽。

StackPanel 的Orientation属性

1.默认情况下Orientation="Vertical",<StackPanel Orientation="Vertical">与下方加粗字体是同一个效果 

// StackPanel 里添加了4个按钮,默认布局,Orientation 默认垂直排列
<Window x:Class="WpfFirstApp.StackPanelWindow"
        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:WpfFirstApp"
        mc:Ignorable="d"
        Title="StackPanelWindow" Height="450" Width="800">
    <StackPanel >
        <Button Content="按钮1"></Button>
        <Button Content="按钮2"></Button>
        <Button Content="按钮3"></Button>
        <Button Content="按钮4"></Button>
    </StackPanel>
</Window>

效果图:

也可不在xaml中增加button,改用代码增加;效果是一样的,C#中代码如下:

// 使用C# 代码直接实现
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace WpfFirstApp
{
    /// <summary>
    /// StackPanelWindow.xaml 的交互逻辑
    /// </summary>
    public partial class StackPanelWindow : Window
    {
        public StackPanelWindow()
        {
            InitializeComponent();
            this.Title = "StackPanel面板";
            // StackPanel 默认排列
            StackPanel stackPanel = new StackPanel();
            this.Content = stackPanel;
            stackPanel.Children.Add(new Button(){Content="按钮1"});
            stackPanel.Children.Add(new Button(){Content = "按钮2"});
            stackPanel.Children.Add(new Button(){Content = "按钮3"});
            stackPanel.Children.Add(new Button(){Content = "按钮4"});
        }
    }
}

2.设置StackPanel的Orientation为横向(Horizontal)排列

// 设置 Orientation 属性(Horizontal)
<Window x:Class="WpfFirstApp.StackPanelWindow"
        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:WpfFirstApp"
        mc:Ignorable="d"
        Title="StackPanelWindow" Height="450" Width="800">
    <StackPanel Orientation="Horizontal">
        <Button Content="按钮1"></Button>
        <Button Content="按钮2"></Button>
        <Button Content="按钮3"></Button>
        <Button Content="按钮4"></Button>
    </StackPanel>
</Window>

效果图:

也可不在xaml中增加button,改用代码增加;效果是一样的,C#中代码如下:

// 使用C# 代码直接实现
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace WpfFirstApp
{
    /// <summary>
    /// StackPanelWindow.xaml 的交互逻辑
    /// </summary>
    public partial class StackPanelWindow : Window
    {
        public StackPanelWindow()
        {
            InitializeComponent();
            this.Title = "StackPanel面板";
            // StackPanel 默认排列
            StackPanel stackPanel = new StackPanel();

            stackPanel.Orientation = Orientation.Horizontal;
            this.Content = stackPanel;
            stackPanel.Children.Add(new Button(){Content="按钮1"});
            stackPanel.Chil

相关文章:

WPF布局面板

StackPanel StackPanel 是一种常用的布局控件,可以支持水平或垂直排列,但不会换行。当子元素添加到 StackPanel 中时,它们将按照添加的顺序依次排列。默认情况下,StackPanel 的排列方向是垂直的,即子元素将从上到下依次排列。可以使用 Orientation 属性更改排列方向。可以…...

灵活应对:策略模式在软件设计中的应用

策略模式是一种行为型设计模式&#xff0c;它允许定义一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使它们可以互换使用。策略模式让算法的变化独立于使用算法的客户端&#xff0c;使得在不修改原有代码的情况下切换或扩展新的算法成为可能。 使用策略模式的场景包…...

eosio.token 智能合约介绍

一、目的 eosio.token系统合约定义了允许用户为基于EOSIO的区块链创建、发行和管理代币的结构和操作&#xff0c;它演示了一种实现允许创建和管理代币的智能合约的方法。本文详细介绍了eosio.token系统合约并在本地测试链上实际发行了代币进行演示&#xff0c;适用于EOS智能合…...

3D 转换

1&#xff0c;3D的特点&#xff1a; 近小远大 物体后面遮挡不可见 2&#xff0c;3D移动 translate3d 3D移动在2D移动的基础上多加了一个可以移动的方向&#xff0c;就是z轴方向 transform&#xff1a;translateX&#xff08;100px&#xff09;&#xff1a;仅仅是在x轴上移动…...

AI智能语音机器人安装方法

销售型的企业&#xff0c;基本靠电话营销拓客来实现效益的最大化。因为电销人员离职率高&#xff0c;且需求量大&#xff0c;需要接连不断的招人来实现业绩目标&#xff0c;电话机器人,贴牌招商,复制多个账户 这些都意味的企业的投入成本越来越大&#xff0c;博主从事多年AI技术…...

Python 潮流周刊#38:Django + Next.js 构建全栈项目

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。本周刊开源&#xff0c;欢迎投稿[1]。另有电报频道[2]作为副刊&#xff0c;补充发布更加丰富的资讯&#xff0c;…...

Jenkins升级后,构建任务配置界面重复错位

最近我把公司的Jenkins服务升级到了最新版本&#xff0c;升级完成后&#xff0c;点了一下构建任务&#xff0c;发现能够构建成功&#xff0c;就以为顺利完成升级了&#xff0c;下班走了&#xff0c;结果第二天&#xff0c;进入构建任务配置界面发现&#xff0c;界面一团乱麻&am…...

Python基础学习 -07 运算符

Python 运算符 运算符用于对变量和值执行操作。 Python 在以下组中划分运算符&#xff1a; 算术运算符赋值运算符比较运算符逻辑运算符身份运算符成员运算符位运算符 Python 算术运算符 算术运算符与数值一起使用来执行常见的数学运算&#xff1a; 运算符名称实例加x y-…...

Nim游戏

文章目录 题目描述输入格式输出格式 结论程序代码 题目描述 给定 n 堆石子&#xff0c;两位玩家轮流操作&#xff0c;每次操作可以从任意一堆石子中拿走任意数量的石子&#xff08;可以拿完&#xff0c;但不能不拿&#xff09;&#xff0c;最后无法进行操作的人视为失败。 问…...

Pytorch: torch.linspace等间隔数值函数

torch.linspace 是 PyTorch 提供的一个用于生成等间隔数值的函数。具体而言&#xff0c;torch.linspace 会在指定的区间内生成指定数量的等间隔数值。 torch.linspace(start, end, steps100, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)参数说明&#x…...

【C++】案例:数列求和 与 条件筛选

1.数列求和 题目&#xff1a; 设计一个程序&#xff0c;要求对数列2471116……n的前n项求和&#xff0c; 例如输入3&#xff0c;输出13; 输入6&#xff0c;输出62。 答案&#xff1a; #include <iostream>int main() {int n;std::cout << "请输入一个正…...

问题:下列哪些属于历史文化资源的特征( ). #学习方法#学习方法

问题&#xff1a;下列哪些属于历史文化资源的特征( ). A、稀缺性 B、脆弱性 C、可再生性 D、多样性 参考答案如图所示...

大数据 - Spark系列《四》- Spark分布式运行原理

Spark系列文章&#xff1a; 大数据 - Spark系列《一》- 从Hadoop到Spark&#xff1a;大数据计算引擎的演进-CSDN博客 大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置-CSDN博客 大数据 - Spark系列《三》- 加载各种数据源创建RDD-CSDN博客 目录 &#x1f360;…...

Java使用规范

1.关键字 定义&#xff1a;被Java语言赋予了特殊含义&#xff0c;用做专门用途的字符串(单词) 特点&#xff1a;关键字中的所有字母都是小写 2.保留字 java保留字&#xff1a;现有Java版本尚未使用&#xff0c;但以后的版本可能会作为关键字使用。命名标识符时要避免使用这些…...

Debian 11 安装并开启SSH服务实现允许root用户使用SecureCRT远程登录

Debian11系统默认没有安装SSH服务&#xff0c;如需要开启远程登录则需要安装相应的服务。 确保你已经登录到Debian系统&#xff0c;并具有root用户或sudo特权。 打开终端&#xff0c;并使用以下命令安装OpenSSH服务器软件包&#xff1a; sudo apt update sudo apt install ope…...

Linux下对线程的理解(上)

1、线程的概念 要理解线程首先要理解页表和进程地址空间&#xff0c;我是这样子理解的&#xff0c;1、进程地址空间是进程访问资源的窗口。2、页表是规定进程地址空间中哪些属于进程。3、合理的使用进程地址空间页表可以对资源进行划分。而如何理解进程呢&#xff1f;进程是接受…...

【蓝桥杯】环形链表的约瑟夫问题

目录 题目描述&#xff1a; 输入描述&#xff1a; 输出描述&#xff1a; 示例1 解法一&#xff08;C&#xff09;&#xff1a; 解法二&#xff08;Cpp&#xff09;&#xff1a; 正文开始&#xff1a; 题目描述&#xff1a; 据说著名犹太历史学家 Josephus 有过以下故事&a…...

深度学习本科课程 实验1 Pytorch基本操作

一、Pytorch基本操作考察 1.1 任务内容 使用 &#x1d413;&#x1d41e;&#x1d427;&#x1d42c;&#x1d428;&#x1d42b; 初始化一个 &#x1d7cf;&#x1d7d1; 的矩阵 &#x1d474; 和一个 &#x1d7d0;&#x1d7cf; 的矩阵 &#x1d475;&#xff0c;对两矩阵…...

大数据分析|设计大数据分析的三个阶段

文献来源&#xff1a;Saggi M K, Jain S. A survey towards an integration of big data analytics to big insights for value-creation[J]. Information Processing & Management, 2018, 54(5): 758-790. 下载链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1…...

华为机考入门python3--(7)牛客7-取近似值

分类&#xff1a;数字 知识点&#xff1a; str转float float(str) 向上取整 math.ceil(float_num) 向下取整 math.floor(float_num) 题目来自【牛客】 import math def round_to_int(float_num): # 如果小数点后的数值大于等于0.5&#xff0c;则向上取整&#xf…...

3分钟掌握抖音智能批量下载:全流程自动化解决方案

3分钟掌握抖音智能批量下载&#xff1a;全流程自动化解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...

LibreCAD完全指南:零基础掌握开源CAD绘图的实战秘籍

LibreCAD完全指南&#xff1a;零基础掌握开源CAD绘图的实战秘籍 【免费下载链接】LibreCAD LibreCAD is a cross-platform 2D CAD program written in C17. It can read DXF/DWG files and can write DXF/PDF/SVG files. It supports point/line/circle/ellipse/parabola/splin…...

让任意窗口保持置顶:AlwaysOnTop提升Windows多任务效率全指南

让任意窗口保持置顶&#xff1a;AlwaysOnTop提升Windows多任务效率全指南 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 在数字化工作环境中&#xff0c;我们经常需要同时处理多…...

yz-bijini-cosplay惊艳效果:多光源环境下Cosplay角色面部光影层次还原

yz-bijini-cosplay惊艳效果&#xff1a;多光源环境下Cosplay角色面部光影层次还原 安全声明&#xff1a;本文仅讨论技术实现方案&#xff0c;所有生成内容均为技术演示用途&#xff0c;不涉及任何真人形象或不当内容。 1. 项目概述&#xff1a;专为Cosplay创作打造的AI图像生成…...

如何让Windows播放器支持所有视频格式:终极媒体解码解决方案

如何让Windows播放器支持所有视频格式&#xff1a;终极媒体解码解决方案 【免费下载链接】LAVFilters LAV Filters - Open-Source DirectShow Media Splitter and Decoders 项目地址: https://gitcode.com/gh_mirrors/la/LAVFilters 你是否曾经遇到过这样的烦恼&#xf…...

QQ空间历史数据安全备份:GetQzonehistory高效解决方案

QQ空间历史数据安全备份&#xff1a;GetQzonehistory高效解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代&#xff0c;个人社交数据的永久性面临严峻挑战。据中国互联…...

城通网盘下载加速终极解决方案:ctfileGet让你的文件传输速度提升10倍

城通网盘下载加速终极解决方案&#xff1a;ctfileGet让你的文件传输速度提升10倍 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否还在为城通网盘下载速度缓慢而烦恼&#xff1f;每次下载大文件都…...

猫抓资源嗅探扩展:网页媒体资源提取的完整解决方案

猫抓资源嗅探扩展&#xff1a;网页媒体资源提取的完整解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在现代互联网浏览体验中&#xff0c…...

春联生成模型-中文-base环境隔离部署:Anaconda虚拟环境配置指南

春联生成模型-中文-base环境隔离部署&#xff1a;Anaconda虚拟环境配置指南 每次想尝试一个新的AI模型&#xff0c;最头疼的可能不是模型本身&#xff0c;而是环境配置。装了这个包&#xff0c;发现和之前项目的包版本冲突&#xff1b;好不容易跑起来&#xff0c;结果报了一堆…...

WSL2+VSCode+Github Copilot开发环境配置全指南(避坑版)

WSL2VSCodeGithub Copilot开发环境配置全指南&#xff08;避坑版&#xff09; 在当今的开发环境中&#xff0c;Windows Subsystem for Linux 2 (WSL2) 已经成为许多开发者的首选工具&#xff0c;它完美结合了Windows的易用性和Linux的强大功能。而Visual Studio Code (VSCode)…...