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

一起搭WPF界面之View的简单设计一

一起搭WPF界面之View的简单设计一

  • 1 前言
  • 2 界面预期设想
  • 3 基础的实现步骤
    • 3.1 界面划分
      • 3.1.1 基础框架代码:
      • 3.1.2 实现效果
  • 4 界面花样设计
    • 4.1 花样设计
    • 4.2 界面源代码
    • 4.3 错误提醒
      • 4.3.1 错误1
      • 4.3.2 错误2
  • 总结


1 前言

基于上一篇的window、Gird、Border的简单介绍,了解相关属性设置,这篇的目的主要是熟悉具体使用,并应用起来!
设计我们的第一个界面,界面划分也是搭好WPF的基础!


2 界面预期设想

在这里插入图片描述

我们将主界面Mainwindow.xaml划分为主要两块:

  • 左边为蓝底为切换界面,可添加用户头像与界面切换显示。用户处可添加图片,圆圈1-n为界面选项。
  • 右边为主要界面显示,可以输出界面主题,对界面进行解释概述。

3 基础的实现步骤

3.1 界面划分

3.1.1 基础框架代码:

<Grid><Grid.ColumnDefinitions><ColumnDefinition Width="100"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Border Grid.Column="0"><Grid><Grid.RowDefinitions><RowDefinition Height="120"/><RowDefinition Height="*"/><RowDefinition Height="*"/><RowDefinition Height="*"/><RowDefinition Height="120"/></Grid.RowDefinitions></Grid></Border><Border Grid.Column="1"><Grid><Grid.RowDefinitions><RowDefinition Height="80"/><RowDefinition Height="*"/><RowDefinition Height="80"/></Grid.RowDefinitions></Grid></Border></Grid>

3.1.2 实现效果

在这里插入图片描述

4 界面花样设计

4.1 花样设计

通过搭建简单的框架后,我们可以根据我们自己的需求,对整体框架定义风格色调。
例如:我想以橘色为主色调,并将整体框架从正正方方变为柔软的圆角。
在这里插入图片描述
我主要设置了以下几方面的参数:

Windows:
  • Transparent 设置:通常指的是设置窗口的背景为透明,单独设置Background=“Transparent” 还不行,会出现黑色底。

  • AllowsTransparency设置:窗口的背景透明,结合Background=“Transparent”,可以解决。

 Grid:
  • Grid.ColumnDefinitions设置:设置列的宽度。
  • Grid.RowDefinitions设置:设置行的高度。
  • *:对于无法确定,又想等额分配的时候,使用*进行处理。
 Border:
  • Background设置:设置背景的颜色。
  • BorderBrush设置:设置边框的颜色。
  • BorderThickness设置:设置边框的宽度。
  • CornerRadius设置:设置圆角的弧度。单独设置一个值表示四个圆角都相同;CornerRadius="50,20,20,50"表示左上角、左下角都设置为50,右上角右下角为20。
    需要注意:
  • 不能在Border内同时设置多个Gird
  • 多个Gird内设置控件,放置时需要从0列、0行开始。

4.2 界面源代码

<Grid><Border CornerRadius="50,20,20,50" Background="#FFFFE1AB"><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="100"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Border Grid.Column="0" ><Grid><Grid.RowDefinitions><RowDefinition Height="120"/><RowDefinition Height="*"/><RowDefinition Height="*"/><RowDefinition Height="*"/><RowDefinition Height="120"/></Grid.RowDefinitions></Grid></Border><Border Grid.Column="1" Background="White" BorderBrush="#FFFFBF49" BorderThickness="3" CornerRadius="20,20,20,20" ><Grid><Grid.RowDefinitions><RowDefinition Height="80"/><RowDefinition Height="*"/><RowDefinition Height="80"/></Grid.RowDefinitions></Grid></Border></Grid></Border></Grid>

4.3 错误提醒

4.3.1 错误1

在这里插入图片描述
只能在Border内放置一个Gird

4.3.2 错误2

在这里插入图片描述
BackgroundAllowsTransparency配合使用!


总结

本文简单对Window、Grid、Border介绍了具体的使用方法和使用效果的基础展示。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 文件硬盘数据销毁:守护信息安全的关键一步,文档销毁 数据销毁
  • 【Java】Java 设计模式之工厂模式与策略模式
  • 07 - procfs
  • Java中IO基础文本数据处理:BufferedReader 和 BufferedWriter
  • CSI 插件如何注册到 kubelet 的
  • 【网络基础】探索 NAT 技术:IP 转换、NAPT、NAT穿越及代理服务器
  • Git实战精粹
  • 百度搜索的RLHF性能优化实践
  • APP渠道来源方案探索
  • 在 macOS 上升级 Ruby 版本的几种方法
  • vue事件监听
  • ReentrantLock可重入锁又是怎么回事?
  • CLIP微调方法总结
  • Threejs绘制方形管道
  • IO进程day01(标准IO、缓存区)
  • canvas 五子棋游戏
  • C语言笔记(第一章:C语言编程)
  • ECMAScript6(0):ES6简明参考手册
  • HashMap剖析之内部结构
  • Java多线程(4):使用线程池执行定时任务
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • nodejs调试方法
  • PHP 小技巧
  • python 装饰器(一)
  • Python十分钟制作属于你自己的个性logo
  • ReactNative开发常用的三方模块
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • yii2中session跨域名的问题
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 和 || 运算
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 06-01 点餐小程序前台界面搭建
  • Java总结 - String - 这篇请使劲喷我
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​ubuntu下安装kvm虚拟机
  • ​如何使用QGIS制作三维建筑
  • #ifdef 的技巧用法
  • #Linux(帮助手册)
  • ()、[]、{}、(())、[[]]命令替换
  • (Forward) Music Player: From UI Proposal to Code
  • (Git) gitignore基础使用
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (差分)胡桃爱原石
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (一)Linux+Windows下安装ffmpeg
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .net core 控制台应用程序读取配置文件app.config
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @javax.ws.rs Webservice注解