第2章、WPF窗体及其属性

news2025/3/17 2:15:34

1、窗体的宽与高。窗体的标题,宽、高
2、启动窗体设置
在这里插入图片描述
3、窗体的启动位置设置
WindowStartupLocation 可以设置CenterScreen、 CenterOwner、Manual
4、窗体图标更换
在这里插入图片描述
5、应用程序的图标更改
在这里插入图片描述
6、
在这里插入图片描述
7、窗体属性汇总:

  1. AllowsTransparency
    类型: bool
    描述: 该属性决定窗口是否可以有透明效果。如果设置为true,窗口的背景必须设置为Transparent,并且窗口的WindowStyle属性必须设置为None。
    默认值: false
  2. Background
    类型: Brush
    描述: 该属性用于设置窗口的背景颜色或背景图像。可以使用纯色、渐变色或图像作为背景。
    默认值: null
  3. BorderBrush
    类型: Brush
    描述: 该属性用于设置窗口边框的颜色或样式。
    默认值: null
  4. BorderThickness
    类型: Thickness
    描述: 该属性用于设置窗口边框的厚度。
    默认值: 0
  5. ClipToBounds
    类型: bool
    描述: 该属性决定是否裁剪超出窗口边界的内容。
    默认值: false
  6. Content
    类型: object
    描述: 该属性用于设置窗口的内容。可以是一个控件、布局容器或其他UI元素。
    默认值: null
  7. DefaultStyleKey
    类型: object
    描述: 该属性用于设置窗口的默认样式。通常在样式重写时使用。
    默认值: typeof(Window)
  8. FontFamily
    类型: FontFamily
    描述: 该属性用于设置窗口中文字的字体。
    默认值: 系统默认字体
  9. FontSize
    类型: double
    描述: 该属性用于设置窗口中文字的大小。
    默认值: 系统默认字体大小
  10. FontWeight
    类型: FontWeight
    描述: 该属性用于设置窗口中文字的粗细。
    默认值: Normal
  11. Foreground
    类型: Brush
    描述: 该属性用于设置窗口中文字的前景色。
    默认值: Black
  12. Height
    类型: double
    描述: 该属性用于设置窗口的高度。
    默认值: Auto(根据内容自动调整)
  13. HorizontalContentAlignment
    类型: HorizontalAlignment
    描述: 该属性用于设置窗口内容的水平对齐方式(左、中、右、拉伸)。
    默认值: Stretch
  14. Icon
    类型: ImageSource
    描述: 该属性用于设置窗口的图标。
    默认值: null
  15. IsEnabled
    类型: bool
    描述: 该属性用于决定窗口是否可用(即用户是否可以与窗口交互)。
    默认值: true
  16. IsHitTestVisible
    类型: bool
    描述: 该属性用于决定窗口是否可以响应鼠标事件。
    默认值: true
  17. IsTabStop
    类型: bool
    描述: 该属性用于决定窗口是否可以通过Tab键导航到。
    默认值: true
  18. Left
    类型: double
    描述: 该属性用于设置窗口的左边缘位置。
    默认值: NaN(自动定位)
  19. MaxHeight
    类型: double
    描述: 该属性用于设置窗口的最大高度。
    默认值: PositiveInfinity
  20. MaxWidth
    类型: double
    描述: 该属性用于设置窗口的最大宽度。
    默认值: PositiveInfinity
  21. MinHeight
    类型: double
    描述: 该属性用于设置窗口的最小高度。
    默认值: 0
  22. MinWidth
    类型: double
    描述: 该属性用于设置窗口的最小宽度。
    默认值: 0
  23. Name
    类型: string
    描述: 该属性用于为窗口指定一个唯一的名称,通常用于在代码中引用窗口。
    默认值: null
  24. Opacity
    类型: double
    描述: 该属性用于设置窗口的透明度,值范围从0(完全透明)到1(完全不透明)。
    默认值: 1
  25. ResizeMode
    类型: ResizeMode
    描述: 该属性用于设置窗口的调整大小模式,可能的值包括NoResize、CanMinimize、CanResize和CanResizeWithGrip。
    默认值: CanResize
    在WPF中,ResizeMode 是一个枚举类型,用于控制窗体的调整大小行为。NoResize、CanMinimize、CanResize 和 CanResizeWithGrip 是 ResizeMode 的四个枚举值,它们分别定义了窗体的不同调整大小行为。以下是它们的详细解释:
    属性 行为 适用场景
    NoResize 窗体不能调整大小,最大化按钮和最小化按钮被禁用。 固定大小的窗口或对话框。
    CanMinimize 窗体可以最小化,但不能最大化或调整大小。 固定大小的窗口,但允许最小化。
    CanResize 窗体可以调整大小,最大化按钮和最小化按钮可用。 可调整大小的主窗口或对话框。
    CanResizeWithGrip 窗体可以调整大小,并且在右下角显示一个调整大小的手柄(Grip)。 可调整大小的窗口,明确提示用户。
    注意事项
    NoResize 和 CanMinimize:

这两种模式都禁止用户调整窗体大小,但 CanMinimize 允许用户最小化窗体。
CanResize 和 CanResizeWithGrip:

这两种模式都允许用户调整窗体大小,但 CanResizeWithGrip 在右下角显示一个调整大小的手柄,提供更直观的提示。
默认值:

如果未设置 ResizeMode,默认值为 CanResize。
26. ShowInTaskbar
类型: bool
描述: 该属性决定窗口是否显示在任务栏上。
默认值: true
27. SizeToContent
类型: SizeToContent
描述: 该属性决定窗口是否自动调整大小以适应其内容,可能的值包括Manual、Width、Height和WidthAndHeight。
默认值: Manual
在WPF中,SizeToContent 是一个枚举类型,用于指定窗体如何根据其内容自动调整大小。Manual、Width、Height 和 WidthAndHeight 是 SizeToContent 的四个枚举值,它们分别定义了窗体如何根据内容调整大小。以下是它们的详细解释:
属性 行为 适用场景
Manual 窗体的大小不会根据内容自动调整,完全由开发者手动指定。 固定大小的窗口或对话框。
Width 窗体的宽度根据内容自动调整,高度固定。 内容宽度动态变化的窗口。
Height 窗体的高度根据内容自动调整,宽度固定。 内容高度动态变化的窗口。
WidthAndHeight 窗体的宽度和高度都根据内容自动调整。 内容宽度和高度都可能动态变化的窗口。
注意事项
Manual 模式:

如果未设置 Width 和 Height,窗体的大小可能不合适,内容可能超出窗体边界。
Width 和 Height 模式:

这些模式只会根据内容调整一个维度(宽度或高度),另一个维度需要手动设置或保持不变。
WidthAndHeight 模式:

这是最灵活的模式,允许窗体根据内容自动调整大小,适用于内容可能动态变化的情况。
28. Top
类型: double
描述: 该属性用于设置窗口的上边缘位置。
默认值: NaN(自动定位)
29. Topmost
类型: bool
描述: 该属性决定窗口是否始终保持在其他窗口的上方。
默认值: false
30. Visibility
类型: Visibility
描述: 该属性用于设置窗口的可见性,可能的值包括Visible、Hidden和Collapsed。
默认值: Visible
属性值 是否可见 是否占用布局空间 适用场景
Visible 是 是 控件需要显示并参与布局。
Hidden 否 是 控件暂时隐藏但需要保留布局位置。
Collapsed 否 否 控件完全隐藏且不需要保留布局空间。
31. WindowStartupLocation
类型: WindowStartupLocation
描述: 该属性用于设置窗口启动时的初始位置,可能的值包括Manual、CenterOwner和CenterScreen。
默认值: Manual
在WPF中,WindowStartupLocation 是一个枚举类型,用于指定窗体在首次显示时的初始位置。Manual、CenterOwner 和 CenterScreen 是 WindowStartupLocation 的三个枚举值,它们分别定义了窗体的不同启动位置行为。以下是它们的详细解释:
属性 行为 适用场景
Manual 窗体的初始位置由 Window.Left 和 Window.Top 属性手动指定。 需要精确控制窗体位置时使用。
CenterOwner 窗体的初始位置位于其所有者窗体的中心;若无所有者,则位于屏幕中心。 子窗体或对话框显示在父窗体中心时使用。
CenterScreen 窗体的初始位置位于屏幕的中心。 主窗口或独立窗口显示在屏幕中心时使用。
注意事项
Manual 模式:

如果未设置 Window.Left 和 Window.Top,窗体会显示在默认位置(通常是屏幕左上角)。
如果设置了 Window.Left 和 Window.Top,窗体会显示在指定的位置。
CenterOwner 模式:

必须通过 Window.Owner 属性设置所有者窗体,否则行为与 CenterScreen 相同。
CenterScreen 模式:

无论是否有所有者窗体,窗体会始终显示在屏幕中心。
32. WindowState
类型: WindowState
描述: 该属性用于设置窗口的状态,可能的值包括Normal、Minimized和Maximized。
默认值: Normal
33. WindowStyle
类型: WindowStyle
描述: 该属性用于设置窗口的样式,可能的值包括None、SingleBorderWindow、ThreeDBorderWindow和ToolWindow。
默认值: SingleBorderWindow
当然,可以将 WindowStyle 的不同值及其特点和适用场景以表格的形式进行对比分析。以下是一个详细的表格:
属性值 作用 特点 适用场景
None 窗口没有边框,不包含标准的窗口按钮(如最小化、最大化和关闭按钮)。 - 完全自定义窗口设计

  • 需要手动实现窗口的拖动、最小化、最大化和关闭功能。 - 自定义对话框或窗口,需要独特的外观和行为。
  • 需要移除标准窗口装饰以实现特定的UI设计。
    SingleBorderWindow 窗口具有单线边框,并包含标准的窗口按钮(最小化、最大化/还原和关闭)。 - 窗口具有标准的单线边框。
  • 包含标准的窗口按钮,提供默认的窗口操作功能。 - 需要标准的窗口外观和行为。
  • 适用于大多数标准应用程序窗口。
    ThreeDBorderWindow 窗口具有三维边框效果,并包含标准的窗口按钮。 - 窗口边框具有三维立体效果。
  • 包含标准的窗口按钮,提供默认的窗口操作功能。 - 需要传统的三维边框样式窗口。
  • 适用于希望窗口具有经典外观的应用程序。
    ToolWindow 窗口具有工具窗口的样式,通常边框较浅,标题栏颜色不同。 - 边框和标题栏的颜色与普通窗口不同,通常更浅,以区别于主应用程序窗口。
  • 通常用于工具窗口或辅助窗口,以与主窗口区分。 - 工具窗口、设置窗口或其他辅助窗口,需要与主窗口在视觉上有所区别。
  1. Width
    类型: double
    描述: 该属性用于设置窗口的宽度。
    默认值: Auto(根据内容自动调整)
  2. Title
    类型: string
    描述: 该属性用于设置窗口的标题。
    默认值: null

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于ModbusTCP/RTU协议对接Ethernet/IP(CIP)协议的方案

IGT-DSER智能网关模块支持西门子、倍福(BECKHOFF)、罗克韦尔AB,以及三菱、欧姆龙等各种品牌的PLC之间通讯,支持Ethernet/IP(CIP)、Profinet(S7),以及FINS、MC等工业自动化常用协议,同时也支持PLC与Modbus协议的工业机器人、智能仪…

WPF 与 GMap.NET 结合实现雷达目标动态显示与地图绘制

概述 雷达上位机是雷达系统中用于数据可视化、分析和控制的核心软件。本文将介绍如何使用 C# 和 WPF 框架开发一个雷达上位机程序,主要功能包括: 显示目标轨迹:在界面上实时绘制雷达探测到的目标轨迹。点击显示详细信息:用户点击…

A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS——大型语言模型的训练后优化综述——第2部分

3、微调(上一部分内容) 4、LLMs的对齐 大型语言模型(LLMs)中的对齐涉及引导模型输出以符合人类预期和偏好,特别是在安全关键或用户面对的应用程序中。本章讨论了实现对齐的三个主要范式: 带有反馈的人工…

某大厂自动化工程师面试题

一些大厂的自动化工程师面试题汇总: 基础知识类 请解释什么是PLC(可编程逻辑控制器)?什么是PID控制?它在自动化系统中的作用是什么?请描述一下工业4.0的基本概念。编程与控制系统类 你熟悉哪些PLC编程语言?请举例说明。如何在SCADA系统中实现数据采集和监控?请解释一下…

zend server试用分析

文件:ZendServer-2021.4.1-multi-php-Windows_x86.exe 安装后可以试用30天,想分析下限制原理, 根据安装日志,发现了2个关键的文件: ZendServer\gui\module\Configuration\src\Configuration\License\Wrapper.php ZendServer\gu…

C# NX二次开发:在多个体的模型中如何实现拉伸操作布尔减

大家好,今天接着上一篇拉伸文章去讲。 UF_MODL_create_extruded1 (view source) uf_list_p_tobjectsInputList of objects to be extruded.char *taper_angleInputTaper angle (in degrees).char *limit [ 2 ]InputLimit of extrusion. This is declared as: char …

15 | 定义简洁架构 Store 层的数据类型

提示: 所有体系课见专栏:Go 项目开发极速入门实战课;欢迎加入 云原生 AI 实战 星球,12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力(聚焦于 Go、云原生、AI Infra);本节课最终…

2.3 滑动窗口专题:最大连续1的个数 III(LeetCode 1004)

1. ​题目链接 1004. 最大连续1的个数 III - 力扣(LeetCode)https://leetcode.cn/problems/max-consecutive-ones-iii/ 2. ​题目描述 给定一个二进制数组 nums 和一个整数 k,允许将最多 k 个 0 翻转为 1,求翻转后最长的连续 1 …

【微服务】Nacos 配置动态刷新(简易版)(附配置)

文章目录 1、实现方法2、配置依赖 yaml3、验证效果 1、实现方法 环境&#xff1a;Nacos、Java、SpringBoot等 主要是在boostrap.yaml中的data-id属性下配置refresh:true来实现动态更新 2、配置依赖 yaml 具体的版本参考官方的说明&#xff1a;官方版本说明 <!--读取boo…

六十天前端强化训练之第二十天React Router 基础详解

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、核心概念 1.1 核心组件 1.2 路由模式对比 二、核心代码示例 2.1 基础路由配置 2.2 动态路由示例 2.3 嵌套路由实现 2.4 完整示例代码 三、关键功能实现效果 四、…

用 DeepSeek 构建 Vue.js 底层架构:高效协作与问题解决实践

文章目录 1. **DeepSeek 与 Vue.js 的完美协作**2. **问题背景**3. **问题分析与解决**3.1 **动态路由未正确生成**3.2 **路由路径配置错误**3.3 **路由嵌套问题**3.4 **通配符路由未配置** 4. **DeepSeek 的核心价值** 在现代前端开发中&#xff0c;Vue.js 以其简洁的语法和灵…

深入探讨RAID 5的性能与容错能力:实验与分析(磁盘阵列)

前言—— 本实验旨在探讨 RAID 5 的性能和容错能力。通过创建 RAID 5 阵列并进行一系列读写性能测试及故障模拟&#xff0c;我们将观察 RAID 5 在数据冗余和故障恢复方面的表现&#xff0c;以验证其在实际应用中的可靠性和效率。 首先说明&#xff1a;最少三块硬盘, 使用 4 块…

蓝桥杯备赛-二分-技能升级

问题描述 小蓝最近正在玩一款 RPG 游戏。他的角色一共有 NN 个可以加攻击力的技能。 其中第 ii 个技能首次升级可以提升 AiAi​ 点攻击力, 以后每次升级增加的点数 都会减少 Bi。「AiBi⌉Bi​。「Bi​Ai​​⌉ (上取整) 次之后, 再升级该技能将不会改变攻击力。 现在小蓝可以…

电子招采软件系统,如何实现10年可追溯审计

一、在当前经济环境下&#xff0c;中小企业面临着巨大的生存压力&#xff0c;传统产业的数字化转型迫在眉睫。AI技术为企业的低成本高效发展提供了新机会&#xff0c;混合办公成为新常态&#xff0c;数据安全法的深入落实则进一步推动企业重视数据安全。区块链存证技术凭借独特…

Ubuntu从源代码编译安装QT

1. 下载源码 wget https://download.qt.io/official_releases/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz tar xf qt-everywhere-src-5.15.2.tar.xz cd qt-everywhere-src-5.15.22. 安装依赖库 sudo apt update sudo apt install build-essential libgl1-mesa-d…

X86 RouterOS 7.18 设置笔记七:不使用Upnp的映射方法

X86 j4125 4网口小主机折腾笔记五&#xff1a;PVE安装ROS RouterOS X86 RouterOS 7.18 设置笔记一&#xff1a;基础设置 X86 RouterOS 7.18 设置笔记二&#xff1a;网络基础设置(IPV4) X86 RouterOS 7.18 设置笔记三&#xff1a;防火墙设置(IPV4) X86 RouterOS 7.18 设置笔记四…

数字隔离器,如何提升储能系统的安全与效能?

随着全球对光伏、风电等可再生能源需求的持续增长&#xff0c;在全球能源转型的浪潮中&#xff0c;储能技术凭借着可平衡能源供需、提高能源利用效率等优势&#xff0c;已成为实现 “双碳” 目标的核心支撑。据国家能源局公布数据显示&#xff0c;截至2024年底&#xff0c;我国…

基于UniApp + Vue3开发的智能汉字转拼音工具

基于UniApp Vue3开发的智能汉字转拼音工具 项目简介 这是一个基于 UniApp Vue3 开发的智能汉字转拼音工具&#xff0c;前端使用 Vue3 构建界面&#xff0c;后端采用 Classic ASP 提供接口支持&#xff0c;通过 pinyin-pro 库实现精准的中文转拼音功能。本工具支持以下特性&…

PyTorch 深度学习实战(14):Deep Deterministic Policy Gradient (DDPG) 算法

在上一篇文章中&#xff0c;我们介绍了 Proximal Policy Optimization (PPO) 算法&#xff0c;并使用它解决了 CartPole 问题。本文将深入探讨 Deep Deterministic Policy Gradient (DDPG) 算法&#xff0c;这是一种用于连续动作空间的强化学习算法。我们将使用 PyTorch 实现 D…

Angular由一个bug说起之十四:SCSS @import 警告与解决⽅案

SCSS import 警告与解决⽅案 ⚠ 警告信息 在 SCSS 中&#xff0c;使⽤ import 可能会产⽣以下警告&#xff1a; Deprecation Warning: Sass import rules are deprecated and will be removed in Dart Sass 3.0.0. ? 为什么会有这个警告&#xff1f; Sass 官⽅已经废弃 imp…