仓库管理系统09--修改用户密码

1、添加窗体

2、窗体布局控件 

 UI设计这块还是传统的表格布局,采用5行2列

3、创建viewmodel

 

 

4、前台UI绑定viewmodel

 这里要注意属性绑定和命令绑定及命令绑定时传递的参数

<Window x:Class="West.StoreMgr.Windows.EditPasswordWindow"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:West.StoreMgr.Windows"mc:Ignorable="d"WindowStartupLocation="CenterScreen"DataContext="{Binding Source={StaticResource Locator},Path=EditPassword}"Title="修改用户密码" Height="450" Width="700" ResizeMode="NoResize"><Grid Background="#E4ECEF"><Grid Margin="110 50 100 50" ><!--5行2列的表格--><Grid.ColumnDefinitions><ColumnDefinition Width="0.5*"/><ColumnDefinition/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition/><RowDefinition/><RowDefinition/><RowDefinition/><RowDefinition/></Grid.RowDefinitions><Grid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"><Grid.ColumnDefinitions><ColumnDefinition></ColumnDefinition><ColumnDefinition></ColumnDefinition><ColumnDefinition></ColumnDefinition></Grid.ColumnDefinitions><Border Grid.Column="0" Height="2" Width="122" HorizontalAlignment="Center" VerticalAlignment="Center"><!--渐变色横条--><Border.Background><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="Red" Offset="0"></GradientStop><GradientStop Color="#6d6d6d"  Offset="1"></GradientStop></LinearGradientBrush></Border.Background></Border><TextBlock  Margin="20 0 0 0"  Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" Text="修改密码" FontSize="30"/><Border Grid.Column="2"  Height="2" Width="122" HorizontalAlignment="Center" VerticalAlignment="Center"><!--渐变色横条--><Border.Background><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="Red" Offset="1"></GradientStop><GradientStop Color="#6d6d6d"  Offset="0"></GradientStop></LinearGradientBrush></Border.Background></Border></Grid> <TextBlock Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" Text="当前密码" FontSize="20"/><TextBlock Grid.Row="2" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" Text="新密码" FontSize="20"/><TextBlock Grid.Row="3" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" Text="确认密码" FontSize="20"/><TextBox Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding PasswordModel.OldPassword,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" FontSize="20" Width="200" Height="30"/><TextBox Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding PasswordModel.NewPassword,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" FontSize="20" Width="200" Height="30"/><TextBox Grid.Row="3" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding PasswordModel.Password2,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" FontSize="20" Width="200" Height="30"/><!--button--><Button Margin="0 0 0 0" Height="40" Width="200" Grid.Row="4"  Grid.Column="1" HorizontalAlignment="Left" FontSize="28"Content="修  改" Style="{StaticResource ButtonStyle}"  CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=local:EditPasswordWindow}}"Command="{Binding EditPasswordCommand}"/></Grid></Grid>
</Window>

5、运行效果

 数据库存储 成功

原创不易,打字不易,截图不易,多多点赞,送人玫瑰,留有余香,财务自由明日实现。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/34202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

制造业工厂的管理到底有多难

一、引言 随着全球经济的不断发展&#xff0c;制造业作为实体经济的核心&#xff0c;对国家的经济增长起着至关重要的作用。然而&#xff0c;制造业工厂的管理却是一项复杂而艰巨的任务。本文将深入探讨制造业工厂管理所面临的挑战&#xff0c;并提出相应的应对策略。 二、制造…

TCP: 传输控制协议

TCP: 传输控制协议 TCP的服务TCP 的首部小结 本系列文章旨在巩固网络编程理论知识&#xff0c;后续将结合实际开展深入理解的文章。 TCP的服务 T C P和U D P都使用相同的网络层&#xff08;I P&#xff09;&#xff0c;T C P却向应用层提供与U D P完全不同的服务。 T C P提供一…

【已解决】Python报错:AttributeError: module ‘json‘ has no attribute ‘loads‘

&#x1f60e; 作者介绍&#xff1a;我是程序员行者孙&#xff0c;一个热爱分享技术的制能工人。计算机本硕&#xff0c;人工制能研究生。公众号&#xff1a;AI Sun&#xff0c;视频号&#xff1a;AI-行者Sun &#x1f388; 本文专栏&#xff1a;本文收录于《AI实战中的各种bug…

离散数学上机报告

一、 实验题目&#xff08;编程上机题&#xff09; &#xff08;1&#xff09; 从键盘分别对P、Q输入数据1、0&#xff0c;分别输出P∧Q、P∨Q、P→Q的逻辑结果值。 &#xff08;2&#xff09; 从键盘输入无向图的邻接矩阵&#xff0c;判断输出该图结点最大度数、最小度数。 &a…

synchronized关键字和ReentrantLock在不同jdk版本中性能哪个高?该怎么选择呢?

synchronized关键字和ReentrantLock在不同JDK版本中的性能差异经历了显著的变化。早期&#xff0c;在JDK 1.5及以前的版本中&#xff0c;ReentrantLock通常提供了更好的性能&#xff0c;主要是因为synchronized关键字的实现较为简单&#xff0c;没有太多的优化&#xff0c;导致…

图片如何去水印,分享4个小妙招,手把手教会你!

作为一个经常逛社区网站下载表情包、头像的人&#xff0c;遇到的一个大难题就是图片有水印。如何才能快速去除水印&#xff1f;询问了一圈身边朋友&#xff0c;搜集了各种资料&#xff0c;小编整理了4个超好用的方法。 如果大家和小编一样&#xff0c;能坐着就不站着&#xff0…

PHP 高频面试题

PHP 初级面试题及详细解答 1. 什么是 PHP&#xff0c;PHP 的全称是什么&#xff1f; 解答: PHP 是一种流行的开源脚本语言&#xff0c;特别适合用于 web 开发并可以嵌入 HTML。PHP 的全称是 “PHP: Hypertext Preprocessor”&#xff0c;它最初代表的是 “Personal Home Page…

Python简单实现自动识别并填加验证码

实现自动识别网页中的验证码并填写&#xff0c;需要结合使用网络爬虫技术、图像识别&#xff08;OCR&#xff09;&#xff0c;以及可能的浏览器自动化工具&#xff08;如Selenium&#xff09;。以下简单实现一下如何结合这些技术来实现这一目标&#xff1a; 步骤 1: 获取验证码…

Rust单元测试、集成测试

单元测试、集成测试 在了解了如何在 Rust 中写测试用例后&#xff0c;本章节我们将学习如何实现单元测试、集成测试&#xff0c;其实它们用到的技术还是上一章节中的测试技术&#xff0c;只不过对如何组织测试代码提出了新的要求。 单元测试 单元测试目标是测试某一个代码单…

细说QT表格类复杂控件用法(TableView/TreeView/ListView)

文章目录 表格类控件样式控制设置表格类控件指示器样式表格类控件嵌入自定义控件表格控件禁用列拖动设置列宽和行高表格选中操作数据库+表格控件选中操作和选中样式Qt提供了几种基于模型/视图(Model/View)架构的表格类控件,主要包括QTableView、QTreeView和QListView。这些控件…

Makefile中lastword的用法

Makefile中lastword的用法 在 Makefile 中&#xff0c;lastword 函数用于返回参数列表中的最后一个单词&#xff08;以空格或制表符分隔&#xff09;。它的基本语法如下&#xff1a; lastword words其中&#xff0c;words 是一个包含多个单词的参数列表&#xff0c;可以是变量…

一次DC1靶机的渗透测试

确定目标IP&#xff1a; nmap -sP 192.168.11.1/24 发现目标机器 扫描开放的端口&#xff1a; nmap -T4 -A -v 192.168.11.145 发现开放了一个80端口&#xff0c;并且给出了是Drupal的管理系统 浏览器访问这个服务&#xff1a; 因为这是一个Drupal的管理系统&#xff0c;那么…

Pandas基础应用:数据处理与分析的利器

概括 在数据科学领域&#xff0c;Pandas无疑是一个强大的数据处理和分析工具。它提供了高效、灵活的数据结构和数据分析功能&#xff0c;使得数据清洗、转换、聚合和可视化等操作变得轻而易举。本文将介绍Pandas的基础应用&#xff0c;帮助读者快速上手并掌握其核心功能。 一…

openlayers禁用鼠标滚轮放大、拖拽事件并设置为只有按住Ctrl键才可以执行放大拖拽操作

禁用openlayers鼠标滚轮放大、拖拽移动地图设置这两行代码即可&#xff1a; new Map({interactions: defaults({ dragPan: false, mouseWheelZoom: false }), }) 或者设置只允许按住Ctrl键才可以操作 import { DragPan, MouseWheelZoom, defaults } from "ol/interact…

利用第三方服务对目标进行被动信息收集防止被发现(web安全白帽子)

利用第三方服务对目标进行被动信息收集防止被发现&#xff08;web安全白帽子&#xff09; 1 被动信息收集1.1 信息收集内容1.2 信息用途 2 信息收集-DNS2.1 DNS信息收集NSLOOKUP2.1.1 ping2.1.2 nslookup 2.2 DNS信息收集-DIG&#xff08;此命令查到的结果更复杂些&#xff0c;…

算法训练营day19--530.二叉搜索树的最小绝对差+501.二叉搜索树中的众数+236. 二叉树的最近公共祖先

一、530.二叉搜索树的最小绝对差 题目链接&#xff1a;https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 文章讲解&#xff1a;https://programmercarl.com/0530.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E7%BB%9D%E5%AF…

shell脚本中sudo密码自动输入

在shell脚本中&#xff0c; 我们可能需要用到sudo权限&#xff0c; 如果没有免密设置&#xff0c; 是需要输入密码的&#xff0c; 但是在自动化的脚本中&#xff0c;我们不希望进行手动密码输入&#xff0c;这时就需要用到密码自动输入。 方法如下: echo "my_passwd&quo…

【ubuntu noble】给 apt 添加代理

修改apt.conf sudo vi /etc/apt/apt.conf添加以下内容 Acquire::http::Proxy "http://proxy.example.com:8080"; Acquire::https::Proxy "http://proxy.example.com:8080";出现公钥问题 去我上一篇博客&#xff0c;有解决方案

Ext JS+Spring Boot 使用Ajax方式上传文件

实现方式 使用 Ext JS 进行 AJAX 调用以传递文件通常涉及到创建一个 FormData 对象,将文件附加到这个对象中,然后通过 Ext JS 的 AJAX API 发送这个对象。 基本步骤 以下是使用 Ext JS 发送文件的基本步骤: 准备文件和数据: 首先需要获取到要传递的文件 创建 FormData 对…

红队内网攻防渗透:内网渗透之内网对抗:横向移动篇NTLM中继Relay重放SMBEWSLADP协议强制认证钓鱼监听

NTLM Relay其实严格意义上并不能叫NTLM Relay,而是应该叫 Net-NTLM Relay。它是发生在NTLM认证的第三步,在 Type3 Response消息中存在Net-NTLM Hash,当攻击者获得了Net-NTLM Hash后,可以进行中间人攻击,重放Net-NTLM Hash,这种攻击手法也就是大家所说的NTLM Relay(NTLM 中…