【WPF高仿 Windows记事本】开发日记 (四) 菜单命令快捷键实现,实现查看菜单功能(三层架构初步使用)

在这里插入图片描述

前言

作者:浪子花梦,一个有趣的程序员 ~
在上一文中我们对所有菜单进行了命令的绑定(还没有实现它的功能),此文章我们将对这些命令进行一个快捷键的绑定,并且完成一个很重要的功能(MVVM三层架构的交互使用:UI、业务逻辑、数据层),完成对 查看菜单中对字体的大小功能进行实现 . . .

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

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

查看菜单功能实现 三层架构


1)为所有的命令添加快捷键(XAML代码中实现):

<Window.InputBindings>
    <!--  文件菜单中的快捷键  -->
    <KeyBinding Command="{Binding FileViewModel.NewCommand}" Gesture="Ctrl+N" />
    <KeyBinding Command="{Binding FileViewModel.NewWindowCommand}" Gesture="Ctrl+Shift+N" />
    <KeyBinding Command="{Binding FileViewModel.OpenCommand}" Gesture="Ctrl+O" />
    <KeyBinding Command="{Binding FileViewModel.SaveCommand}" Gesture="Ctrl+S" />
    <KeyBinding Command="{Binding FileViewModel.SaveAsCommand}" Gesture="Ctrl+Shift+S" />
    <KeyBinding Command="{Binding FileViewModel.PrintCommand}" Gesture="Ctrl+P" />

    <!--  编辑菜单中的快捷键  -->
    <KeyBinding Command="{Binding EditViewModel.CancelCommand}" Gesture="Ctrl+Z" />
    <KeyBinding Command="{Binding EditViewModel.ShearCommand}" Gesture="Ctrl+X" />
    <KeyBinding Command="{Binding EditViewModel.CopyCommand}" Gesture="Ctrl+C" />
    <KeyBinding Command="{Binding EditViewModel.PasteCommand}" Gesture="Ctrl+V" />
    <KeyBinding Command="{Binding EditViewModel.DeleteCommand}" Gesture="Del" />
    <KeyBinding Command="{Binding EditViewModel.UsingBingSearchCommand}" Gesture="Ctrl+E" />
    <KeyBinding Command="{Binding EditViewModel.FindCommand}" Gesture="Ctrl+F" />
    <KeyBinding Command="{Binding EditViewModel.FindNextCommand}" Gesture="F3" />
    <KeyBinding Command="{Binding EditViewModel.FindPrevCommand}" Gesture="Shift+F3" />
    <KeyBinding Command="{Binding EditViewModel.ReplaceCommand}" Gesture="Ctrl+H" />
    <KeyBinding Command="{Binding EditViewModel.GoToCommand}" Gesture="Ctrl+G" />
    <KeyBinding Command="{Binding EditViewModel.CheckAllCommand}" Gesture="Ctrl+A" />
    <KeyBinding Command="{Binding EditViewModel.TimeDateCommand}" Gesture="F5" />

    <!--  查看菜单中的快捷键  -->
    <KeyBinding Command="{Binding ViewViewModel.ZoomInCommand}" Gesture="Ctrl+Add" />
    <KeyBinding Command="{Binding ViewViewModel.ZoomOutCommand}" Gesture="Ctrl+Subtract" />
    <KeyBinding Command="{Binding ViewViewModel.ZoomDefaultCommand}" Gesture="Ctrl+0" />
</Window.InputBindings>

这样我们就可以按下快捷键触发命令了 . . .

.
.

2)数据层 DocumentModel 类数据准备:
在这里插入图片描述
.
.

3)将该数据绑定到 UI 层(TextBox):
在这里插入图片描述
.
.

4)实现 查看菜单的三个命令的功能:
在这里插入图片描述
分别将字体设置为当前的110%、90%、默认大小 . . .

.
.

5)创建多值绑定转换的类,用于将默认字体大小(FontSizeDefault)绑定到状态栏
在这里插入图片描述
代码如下所示:
在这里插入图片描述
.
.

6)绑定UI层(状态栏的百分比):
先在资源中引用:
在这里插入图片描述
进行绑定:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42100963/article/details/107547131
今日推荐