欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)

程序员文章站 2022-03-26 21:01:53
前言作者:浪子花梦,一个有趣的程序员 ~在上一文中我们对数据层的DocumentModel 类 实现了自动更新属性,此文章将使用更加成熟的代码,使得属性的自动更新更加完善,并且此文章将实现 查看菜单中的状态栏菜单功能(是否显示状态栏),还有鼠标的滚轮命令绑定前文如下所示:【WPF高仿 Windows记事本】开发日记 (一) UI布局与 帮助菜单 功能实现【WPF高仿 Windows记事本】开发日记 (二) 初步使用MVVM模式设计 帮助菜单 的三个命令【WPF高仿 Windows记事本】开....

【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)

前言

作者:浪子花梦,一个有趣的程序员 ~
在上一文中我们对数据层的DocumentModel 类 实现了自动更新属性,此文章将使用更加成熟的代码,使得属性的自动更新更加完善,并且此文章将实现 查看菜单中的状态栏菜单功能(是否显示状态栏),还有鼠标的滚轮命令绑定

前文如下所示:
【WPF高仿 Windows记事本】开发日记 (一) UI布局(帮助菜单功能实现)
【WPF高仿 Windows记事本】开发日记 (二) 初步使用MVVM模式设计 帮助菜单 的三个命令
【WPF高仿 Windows记事本】开发日记 (三) 完善所有菜单的命令绑定并创建Models层的设计
【WPF高仿 Windows记事本】开发日记 (四) 菜单命令快捷键实现,实现查看菜单功能(三层架构初步使用

此文章的实现效果如下所示:

ObservableObject、显示状态栏 鼠标滚轮绑定


1)使用成熟的自动更新代码(ObservableObject) 来替换 INotifyPropertyChanged:
ObservableObject 类的使用方式在下方教程中有讲(可直接Copy源码):
WPF使用成熟的属性自动更新代码

效果如下所示:
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)

修改数据层(DocumentModel)的使用方式:
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)
这样我们的自动更新代码是非常的完美了. . .

.
.

2)准备数据层的成员,用于是否显示状态栏作准备:
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)
.
.

3)UI 界面对状态栏菜单作绑定(双向):
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)
.
.

4)绑定状态栏,使用系统的转换器:
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)
.
.

5)鼠标的滚轮命令绑定:
定义一个 MouseWheelGesture类,这个类从MouseGesture 类中派生而来,代码如下所示链接中:
WPF使用鼠标滚轮绑定命令

我们将类创建在 Helpers文件夹之中,如下所示:
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)
引用命名空间:
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)
与字体的大小命令进行绑定:
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)

本文地址:https://blog.csdn.net/weixin_42100963/article/details/107552939