• 如何为WPF应用程序制作一个虚拟键盘?这里有答案(Part 1)


    Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成Visual Studio工具箱中。

    点击获取Telerik UI for WPF最新版下载

    Telerik UI for WPF套件在R2 2022版本中发布了一个新的组件——RadVirtualKeyboard,旨在允许用户在没有物理设备的情况下输入字符并通过鼠标或触摸设备与之交互。

    虚拟键盘的用途

    虚拟键盘具有许多优点,最主要的是用户可以直接用外语键盘输入自己的语言,这样的键盘也可以增加用户的安全性。

    入门指南

    设置 WPF 项目后,为自己配备 RadVirtualKeyboard 是一件容易的事。 您需要的是 XAML 中的 RadVirtualKeyboard 标记以及对 Telerik.Controls.dll、Telerik.Windows.Data.dll 和 Telerik.Controls.Navigation.dll 的引用。

    <telerik:RadVirtualKeyboard />

    主要功能

    布局

    该控件具有三个内置布局,可以通过 DefaultKeyboardLayout 属性进行控制:

    1. Extended – 标准键盘,如标准物理键盘,带有数字键盘和 F1-F12 键等。

    2. Compact – 没有数字键盘和其他按键的键盘。

    3. Numpad – 仅显示数字键盘键。

    需要自定义布局? 不用担心。 您可以使用特殊的 XML 文件创建一个,然后使用虚拟键盘的 LoadLayout 方法加载它。

    支持语言文化

    RadVirtualKeayboard 中字母按钮的默认语言由所选操作系统的输入语言决定,更改该语言运行时不会影响字母按钮中的文本。SynchronizeCultureWithSystem 属性在这里起到了帮助作用,只需将其设置为 True 并启用当前输入语言跟踪 - 当语言在运行时更改时,文本将更新。

    也可以通过设置控件的 Culture 属性手动更改字母的当前语言。

    virtualKeyboard.Culture = new System.Globalization.CultureInfo("bg-BG");

    使用声音

    如果您不喜欢键盘有声音,只需将IsKeyPressSoundEnabled 属性设置为 false,或者通过 KeySoundPlayer 进行更改。

    1. StreamResourceInfo info = Application.GetResourceStream(new Uri(@"/WpfApplication;component/myClickSoundFile.wav", UriKind.Relative));
    2. virtualKeyboard.KeySoundPlayer = new DefaultKeySoundPlayer(info.Stream);

    键盘窗口

    Rad VirtualKeyboard 的另一个很酷的地方是它的特殊窗口,根据键盘设计风格:

    1. var keyboardWindow = new RadVirtualKeyboardWindow(new RadVirtualKeyboard() { DefaultKeyboardLayout = DefaultKeyboardLayout.Compact});
    2. keyboardWindow.Show();

    了解最新Kendo UI最新资讯,请关注Telerik中文网!

  • 相关阅读:
    BUG:ImportError: attempted relative import with no known parent package的解决办法
    Array类(C#)
    新零售SaaS架构:商品系统架构设计
    Mac电脑远程连接Windows桌面Microsoft Remote Desktop
    【MySQL】数据库进阶之索引内容详解(上篇 索引分类与操作)
    互联网获客经验分享(一)
    计算电磁学(一)前置知识
    leetcode解题思路分析(一百三十一)1103 - 1109 题
    【21天学习挑战赛】图像的旋转问题(二维数组)
    Maven Archetype 开发
  • 原文地址:https://blog.csdn.net/AABBbaby/article/details/126597205