WPF真入门教程04--UI布局1

article/2025/10/12 22:27:14

 大家都知道:UI是做好一个软件很重要的因素,如果没有一个漂亮的UI,功能做的再好也无法吸引很多用户使用,而且没有漂亮的界面,那么普通用户会感觉这个软件没有多少使用价值。

WPF系统基于流布局的标准,开发人员可以建立与分辨率和窗口大小无关的界面UI,在不同显示器上可以得到自由缩放。在开发过程中应该注意以下原则:

1,不需要设置元素尺寸大小
2,不需要使用坐标指定元素位置
3,嵌套布局容器
4,一个窗口包含一个元素

控件很多,不需要个个都精确学会

今天来掌握几个简单的东西,Button按钮,Label标签,TextBox文本,PasswordBox密码,RadioButton单选,首先在项目中创建文件夹images,复制几个图片到文件夹中。

第一步,在xaml文件中添加如下代码

<Window x:Class="WpfApp6.MainWindow"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:WpfApp6"mc:Ignorable="d"Title="WPF基础控件" Height="758.275" Width="1078.5" Icon="images/22i.jpg" WindowStartupLocation="CenterScreen"  Loaded="Window_Loaded"><Grid Name="mygrid" ><Button Name="btnlogin"  IsDefault="True" Click="btnlogin_Click" Background="YellowGreen" BorderThickness="3"  BorderBrush="Red" Content="登录"  HorizontalAlignment="Left" Margin="166,95,0,0" VerticalAlignment="Top" Width="74" RenderTransformOrigin="-0.2,0.368"/><Label Content="帐号" HorizontalAlignment="Left" HorizontalContentAlignment="Center" Margin="54,23,0,0" VerticalAlignment="Top" Width="102"/><TextBox Name="txtname" HorizontalAlignment="Left" Height="23" Margin="142,23,0,0" TextWrapping="Wrap" Text="admin" VerticalAlignment="Top" Width="120"/><Label Content="密码" HorizontalAlignment="Left" Margin="276,23,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.088,0.6"/><PasswordBox Name="txtpass" HorizontalAlignment="Left" Height="22" Margin="330,23,0,0"  Password="123456" PasswordChar="#" VerticalAlignment="Top" Width="120"/><Button Name="btncancle" IsCancel="True" Foreground="Chartreuse"  FontSize="14" Click="btncancle_Click" Content="取消" HorizontalAlignment="Left" Margin="266,95,0,0" VerticalAlignment="Top" Width="74"><Button.Background><ImageBrush  ImageSource="images/32s.jpg"></ImageBrush></Button.Background></Button><RadioButton Content="老师"  GroupName="role" HorizontalAlignment="Left" Margin="156,65,0,0" VerticalAlignment="Top" Checked="RadioButton_Checked"/><RadioButton Content="学生"  GroupName="role" HorizontalAlignment="Left" Margin="230,65,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.14,0.357" Checked="RadioButton_Checked"/><RadioButton Content="管理员"   GroupName="role" HorizontalAlignment="Left" Margin="303,65,0,0" VerticalAlignment="Top" Checked="RadioButton_Checked"/></Grid>
</Window>

所有控件都可以在左侧窗口中找到

 说明下:

1、设置了窗口的图标,启动位置在正中间,启动事件中动态添加一个单选按钮

 2、Grid设置了名称, Name="mygrid",Button设置了背景,RadioButton设置了分组,控件都设置了Content表示显示内容,Name表示控件名称,这在后台代码可能需要用到,所以设置了名称,HorizontalAlignment表示水平对齐,Foreground表示前景色,Margin表示左上右下边距,跟CSS的盒子模型意思一样,Click表示事件名称,这些属性名称很多,不一一说明,这些东西跟CSS里的东西含义一样,所以证明了这个xaml文件是布局文件

第二步,在.cs文件中写逻辑代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
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.Navigation;
using System.Windows.Shapes;namespace WpfApp6
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}private void btncancle_Click(object sender, RoutedEventArgs e){}private void btnlogin_Click(object sender, RoutedEventArgs e){string uname = txtname.Text.Trim();string passwd = txtpass.Password.Trim();MessageBox.Show("登录成功","登录提示",MessageBoxButton.OK,MessageBoxImage.Information);}private void RadioButton_Checked(object sender, RoutedEventArgs e){string t = (sender as RadioButton).Content.ToString();MessageBox.Show(t);}private void Window_Loaded(object sender, RoutedEventArgs e){//动态添加一个单选按钮RadioButton radbtn = new RadioButton();radbtn.Content = "主任";radbtn.GroupName = "role";radbtn.HorizontalAlignment = HorizontalAlignment.Left;radbtn.VerticalAlignment = VerticalAlignment.Top;radbtn.Margin = new Thickness(375,64, 0, 0);radbtn.Checked += RadioButton_Checked;//指定事件处理mygrid.Children.Add(radbtn); }}
}

 第三步,运行程序,效果是

 别小看这些演练,那可是万丈高楼拔地而起,一步步堆砌,就是摩天楼。

效果还可以,看到了炫彩,确实眼前一亮,比winform厉害得多,得加鸡腿了!


http://chatgpt.dhexx.cn/article/LxhyMFFs.shtml

相关文章

WPF UI界面控件篇

WPF UI界面控件篇 布局控件&#xff1a;是任何用户界面的基础&#xff0c;排列应用中的 UI 元素。 文本、按钮和图像等元素都需要规定自己位置和行为方式&#xff0c;构建基块称为“控件”&#xff0c;有时亦称为“元素”。 <Window x:Class"UsingLayoutsApp.Wpf.Mai…

WPF(一) WPF基本控件与布局

​ WPF&#xff08;Windows Presentation Foundation&#xff09;是微软推出的基于Windows的用户界面框架&#xff0c;中文译为“Windows呈现基础”&#xff0c;属于.NET Framework 3.0的一部分。WPF类似于WinForm技术框架&#xff0c;但是相比于WinForm&#xff0c;WPF对大部分…

WPF炫酷界面设计

一.效果展示&#xff08;多层次&#xff09; 二.制作流程 1.在vs2012中建立一个wpf程序 2.建立一个主页面&#xff08;.cs&#xff09;(注&#xff1a;C#程序每一个页面都由两个文件构成一个axml一个cs&#xff0c;一个前端文件一个后台文件) 3.在主页面中添加按钮&#xff0c;…

WPF界面设计工具---Blend学习(一)

文章目录 前言一.初用Blend之喜二.使用Blend1.Blend工具版本 前言 最近在空闲时间学习WPF界面设计工具Blend&#xff0c;之前写WPF的界面都是完全依靠手敲代码的方式&#xff0c;这种方式往往很低效率而且很难做到一些复杂的效果。比如动画&#xff0c;手敲代码实现动画的话&a…

C# WPF 一个设计界面

微信公众号&#xff1a;Dotnet9&#xff0c;网站&#xff1a;Dotnet9&#xff0c;问题或建议&#xff1a;请网站留言&#xff0c; 如果对您有所帮助&#xff1a;欢迎赞赏。 C# WPF 一个设计界面 今天正月初三&#xff0c;大家在家呆着挺好&#xff0c;不要忘了自我充电。 武汉…

WPF界面设计

目录 1.设计一个优美的注册界面1.实现效果2.代码展示 2.简易登录按钮设计1.实现效果2.代码展示 3.设计一个优美的注册登录界面&#xff08;连接数据库&#xff09;1.实现效果2.代码展示 4.设计一个简单的在线教育系统界面1.实现效果2.代码展示 5. 设计一个Dashboard1.实现效果2…

WPF实例系列一:登录、注册界面设计

WPF实例系列一&#xff1a;登录、注册界面设计 文章目录 WPF实例系列一&#xff1a;登录、注册界面设计前言一、实例演示1. 登录界面展示2. 注册界面展示3. 数据存储4. 效果演示 二、结构及源码1.主界面跳转登录界面设计2.登录界面设计3.注册界面设计4.Excel保存数据类设计5.源…

C# WPF界面设计参考 工控机上位机界面 美观炫酷的现代化风格界面设计实际案例分享 界面设计代码

1.动图效果展示 2.界面1 3.界面2 4.界面3 需要界面效果代码的可留言联系博主

WPF界面设计学习

github上发现了一个不错的项目&#xff1a; https://github.com/HenJigg/wpf-uidesign 还配有B站的学习视频&#xff1a; https://space.bilibili.com/32497462 看了这个项目&#xff0c;觉得自己学了这么多年的WPF&#xff0c;界面还设计的这么丑&#xff0c;顿时脸都不知道往…

C# WPF十个美观的界面设计展示

概述 很多时候&#xff0c;我们设计的界面总是感觉缺乏美感&#xff0c;不是我们不会开发好看的界面&#xff0c;而是不知道怎么才算美观&#xff0c;这时候我们不妨看看别人好的页面是怎么做的.下面展示一些我觉得做的比较好的cs界面&#xff0c;希望能给大家在平时做界面设计…

WPF|分享一个登录界面设计

分享一个登录界面&#xff0c;先看效果图&#xff1a; 准备 文中使用到了一些图标&#xff1a; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZsHcZCFv-1652400544809)(https://img1.dotnet9.com/2022/05/3402.png)] 我们可以从 iconfont免费下载…

行列式的意义

本文转自http://www.cnblogs.com/AndyJee/p/3491487.html 三、行列式的几何意义&#xff1a; 行列式的定义&#xff1a; 行列式是由一些数据排列成的方阵经过规定的计算方法而得到的一个数。当然&#xff0c;如果行列式中含有未知数&#xff0c;那么行列式就是一个多项式。它…

矩阵——对称行列式快解

1、先化成爪型行列式 2、再化成上三角或下三角 第一步&#xff1a;把第1行的1倍分别加至第2、3、4行&#xff0c;化为爪型行列式 第二步&#xff1a;把第2、3、4列的&#xff08;-1&#xff09;倍都加到第1列&#xff0c;化为上三角 第三步&#xff1a;得出结果

【线性代数】一、行列式和矩阵

一、行列式 文章目录 一、行列式1.1 行列式性质1.2 余子式行列式按照行列展开的展开公式 一、行列式求解1.用行列式2.用矩阵3.用特征值 1.3 行列式计算一、具体形行列式(1)直接运算1.行\列和相等类型2.爪形、异爪形行列式 (2)化为121个基本行列式1. 主副对角线行列式2. 拉普拉斯…

矩阵/行列式的意义

一、代数意义 矩阵乘法规则看起来比较复杂&#xff0c;不容易理解其乘法规则背后隐含的意义。现举一个例子说明矩阵乘法的意义。如下图所示&#xff0c;一个商店出售Beef pie&#xff0c;chicken pie&#xff0c;vegetable pie&#xff0c;其单价分别为3元&#xff0c;4元&…

矩阵的行列式、秩的意义

线性代数真是一个很抽象的东西&#xff0c;即使我们很多人都学过&#xff0c;但是我相信绝大部分的都不知道这是干嘛用的&#xff0c;找了不少资料&#xff0c;终于发现了这么一篇好文章&#xff0c;于是强烈希望可以和大家分享&#xff0c;帮助大伙进一步理解矩阵的行列式和秩…

线代第二章 矩阵 +行列式与矩阵的区别

行列式与矩阵的区别 一、 行列式是一个数&#xff0c;矩阵是一个表格。 &#xff08;行列式都是n阶的方阵&#xff0c;但矩阵不一定是方阵Ann&#xff0c;也可以是Amn&#xff09; 只有n阶矩阵Ann&#xff1a;才有对应的行列式|A|&#xff0c;才能计算对应行列式的模。 二、…

行列式和矩阵的区别

1&#xff0c;本质上 &#xff08;1&#xff09;行列式是一个数&#xff0c;一个值。当有未知数时就是一个表达式。 &#xff08;2&#xff09;矩阵是一个数表&#xff0c;一种数据结构&#xff0c;可以按照数据库表结构来理解&#xff0c;也可以理解成二维数组。 矩阵是不能…

线性代数 —— 矩阵的行列式

1.行列式 排成 n 阶方阵形式的 n^2 个数所确定的一个数称为 n 阶方阵 A 的行列式&#xff0c;记为&#xff1a;det(A) 或 |A| 一个 2x2 的矩阵的行列式可表示为&#xff1a; 2.余子式与代数余子式 将 n 阶行列式中元素 的第 i 行和第 j 列划去后&#xff0c;留下的 n-1 阶…

行列式与矩阵的区别

1、行列式的本质是线性变换的放大率&#xff0c;而矩阵的本质就是个数表。 2、行列式行数列数&#xff0c;矩阵不一定&#xff08;行数列数都等于n的叫n阶方阵&#xff09;&#xff0c;二者的表示方式亦有区别。 3、行列式与矩阵的运算明显不同 &#xff08;1&#xff09; 相…