c#基础之WPF

 学习平台

微软开发者博客:
DevBlogs - Microsoft Developer Blogs
微软文档与学习:
Microsoft Learn:培养开拓职业生涯新机遇的技能
微软开发者平台:
Microsoft Developer

WPF基础叙述:

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面

Windows Presentation Foundation 框架。Windows Presentation Foundation 框架为媒体、用户界面设计和文档提供的解决方案远远超过开发人员现在所拥有的。Windows Presentation Foundation 的设计考虑了可扩展性,使开发人员可以完全在 Windows Presentation Foundation引擎的基础上创建自己的控件,也可以通过对现有 Windows Presentation Foundation 控件进行再分类来创建自己的控件。Windows Presentation Foundation 框架的核心是用于形状、文档、图像、视频、动画、三维以及用于放置控件和内容的面板的一系列控件。这些“自有控件”为开发下一代用户体验提供了构造块。Microsoft 在引入 Windows Presentation Foundation 的同时,还引入了 XAML,这是一种公开表示 Windows应用程序用户界面的标记语言,可使开发人员和设计人员用来构建和重用 UI 的工具更加丰富。对于 Web 开发人员,XAML 提供了熟悉的 UI 说明模式。XAML 还使 UI 设计从基础代码中分离出来,从而使开发人员和设计人员之间的合作更加紧密。

XAML语言的应用 

XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。XAML提供了一种便于扩展和定位的语法来定义和程序逻辑分离的用户界面,而这种实现方式和ASP.NET中的代码后置模型非常类似。XAML是一种解析性的语言,尽管它也可以被编译。它的优点是简化编程式上的用户创建过程,应用时要添加代码和配置等。

WPF布局基础

WPF布局原则

  1.  一个窗口中只能包含一个元素
  2. 不应显示设置元素尺寸
  3. 不应使用坐标设置元素的位置
  4. 可以嵌套布局容器

WPF布局容器

  1. StackPanel: 水平或垂直排列元素、Orientation属性分别: Horizontal / Vertical

  2. WrapPanel : 水平或垂直排列元素、针对剩余空间不足会进行换行或换列进行排列

  3. DockPanel : 根据容器的边界、元素进行Dock.Top、Left、Right、Bottom设置

  4. Grid : 类似table表格、可灵活设置行列并放置控件元素、比较常用

  5. UniformGrid : 指定行和列的数量, 均分有限的容器空间

  6. Canvas : 使用固定的坐标设置元素的位置、不具备锚定停靠等功能。

布局容器详解

  • StackPanel

    StackPanel主要用于垂直或水平排列元素、在容器的可用尺寸内放置有限个元素,元素的

    尺寸总和(长/高)不允许超过StackPanel的尺寸, 否则超出的部分不可见。

  • WrapPanel

    WrapPanel默认排列方向与StackPanel相反、WrapPanel的Orientation默认为Horizontal。

    WrapPanel具备StackPanel的功能基础上具备在尺寸变更后自动适应容器的宽高进行换行换列处理。

  • DockPanel

    默认DockPanel中的元素具备DockPanel.Dock属性, 该属性为枚举具备: Top、Left、Right、Bottom。

    默认情况下, DockPanel中的元素不添加DockPanel.Dock属性, 则系统则会默认添加 Left。

    DockPanel有一个LastChildFill属性, 该属性默认为true, 该属性作用为, 当容器中的最后一个元素时, 默认该元素填充DockPanel所有空间。

  • Grid

    学过web的老弟应该知道table表格, 而Grid与其类似, Grid具备分割空间的能力。

    RowDefinitions / ColumnDefinitions 用于给Grid分配行与列。

    ColumnSpan / RowSpan 则用于设置空间元素的 跨列与阔行。

  • Canvas

    该容器就相当于一个 "地图", 包含内的所有控件元素, 则都通过使用XY来定位, 由于不太常用, 所以简单掠过。

猜你喜欢

转载自blog.csdn.net/qq_57212959/article/details/131986806