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

第2章、WPF窗体及其属性

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.dtcms.com/a/64072.html

相关文章:

  • golang从入门到做牛马:第二十二篇-Go语言并发:多任务的“协同作战”
  • 【视频】V4L2、ffmpeg、OpenCV中对YUV的定义
  • 大模型微调|使用 LLaMA-Factory 微调 Llama3-8B-Chinese-Chat 完成知识问答任务
  • Linux 中的管道:进程间数据传输的利器
  • jmeter接口测试(三)
  • Leetcode 698-划分为k个相等的子集
  • upload-labs通关攻略 【Pass-01~Pass-19】
  • 【JavaEE】Spring Boot配置文件
  • Docker基础入门(一)
  • STM32 单片机常见的 8 种输入输出模式
  • 解决远程主机允许路由转发 【原理扫描】:将/proc/sys/net/ipv4/ip_forward 置为0
  • HarmonyOS学习第20天:让应用“找准方向”的地图与定位秘籍
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-8.1.2近似最近邻(ANN)算法选型
  • 用Python写一个天气预报小程序
  • C++学习——顺序表(四)
  • SpringMVC (一)基础
  • 日志系统项目——准备工作了解类的设计模式如单例模式、工厂模式、代理模式
  • 图片隐写wp
  • 【eNSP实战】交换机和路由器配置链路聚合
  • 【MySQL】数据类型
  • API调用comfyui工作流,做一个自己的app,chatgpt给我写的前端,一键创建自己的卡通形象,附源码
  • 利用axios库的爬虫程序如何使用HTTP
  • 【Go | 从0实现简单分布式缓存】-7:增加etcd和gRPC功能
  • Windows控制台函数:设置区域属性函数FillConsoleOutputAttribute()
  • 静态路由配置实验相关过程
  • SOAP和REST的区别
  • 全方位 JVM 调优参数详解
  • 【BUG分析】微服务无法读取Nacos中的共享配置
  • MySQL事务及索引复习笔记
  • 笔记本电脑开机自动启用自定义电源计划方法