WPF13-MVVM进阶

ops/2025/2/28 13:41:52/

目录

    • 1. 窗体设置
    • 2. 字体图标
    • 3. 控件模板
    • 4. 页面逻辑
      • 4.1. 不使用MVVM
      • 4.2. MVVM模式实现

本篇我们开发一个基于MVVM的登录页面,用来回顾下之前学习的内容

登录页面如下:

文章配图

窗体取消了默认的标题栏,调整为带阴影的圆角窗体,左侧放一张登录背景图,右边自绘了一个关闭按钮,文本框和按钮也做了美化。快速来看一下如何实现的。

1. 窗体设置

窗口样式调整为None,不允许调整窗口大小,用Border包裹整个窗体实现圆角以及阴影效果,整体分两部分 - 左侧图片、右侧背景图:


<Window x:Class="MVV

http://www.ppmy.cn/ops/161975.html

相关文章

【Linux】Vim 设置

【Linux】Vim 设置 零、起因 刚学Linux&#xff0c;有时候会重装Linux系统&#xff0c;然后默认的vi不太好用&#xff0c;需要进行一些设置&#xff0c;本文简述如何配置一个好用的Vim。 壹、软件安装 sudo apt-get install vim贰、配置路径 对所有用户生效&#xff1a; …

IP-----动态路由OSPF(2)

这只是IP的其中一块内容&#xff0c;IP还有更多内容可以查看IP专栏&#xff0c;前一章内容为动态路由OSPF &#xff0c;可通过以下路径查看IP-----动态路由OSPF-CSDN博客,欢迎指正 注意&#xff01;&#xff01;&#xff01;本部分内容较多所以分成了两部分在上一章 5.动态路…

[特殊字符] 蓝桥杯 Java B 组 之最小生成树(Prim、Kruskal) 并查集应用

Day 3&#xff1a;最小生成树&#xff08;Prim、Kruskal&#xff09; & 并查集应用 &#x1f4d6; 一、最小生成树&#xff08;MST&#xff09;简介 最小生成树&#xff08;Minimum Spanning Tree, MST&#xff09; 是一个 无向连通图 的 最小代价子图&#xff0c;它包含 …

倚光科技:助力玻璃非球面的打样与小批量生产

在现代光学和精密制造领域&#xff0c;非球面光学元件凭借其卓越的光学性能&#xff0c;已成为推动高端科技发展的核心组件。相比于传统的球面透镜&#xff0c;非球面透镜能够显著减少光学系统中的像差和畸变&#xff0c;大幅提升成像质量、系统紧凑性和能量利用率。因此&#…

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter25-客户端存储

二十五、客户端存储 客户端存储 随着 Web 应用程序的出现&#xff0c;直接在客户端存储用户信息的需求也随之出现。这背后的想法是合理的&#xff1a;与特定用户相关的信息应该保存在用户的机器上。无论是登录信息、个人偏好&#xff0c;还是其他数据&#xff0c;Web 应用程序提…

【读书笔记·VLSI电路设计方法解密】问题57:逻辑合成过程中插入测试的目的是什么

如第3章第20题所述&#xff0c;可测试性设计&#xff08;Design for Testability, DFT&#xff09;是创建具有商业价值的产品时需要考虑的一个非常重要的问题。为了实现DFT功能&#xff0c;使设计能够检测制造缺陷&#xff0c;需要在设计中添加额外的测试电路&#xff0c;而这些…

想学python进来看看把

目录 什么是python 我将列举python与其他几种编程语言的对比 Python vs Java Python vs JavaScript Python vs C​编辑 我将列举代码示例帮大家来理解 python c/c java 写一个python程序 你一定要知道什么是BUG呦 遇到bug怎么办 1. 保持冷静 2. 重现 Bug 3. 阅…

Spring Boot 3 集成 RabbitMQ 实践指南

Spring Boot 3 集成 RabbitMQ 实践指南 1. RabbitMQ 核心原理 1.1 什么是RabbitMQ RabbitMQ是一个开源的消息代理和队列服务器&#xff0c;使用Erlang语言开发&#xff0c;基于AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;协议实现。它支持多种消息传递模…