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


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

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

    界面控件Telerik UI for WPF - 如何为WPF应用制作一个虚拟键盘?
    虚拟键盘的用途

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

    界面控件Telerik UI for WPF - 如何为WPF应用制作一个虚拟键盘?
    入门指南

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

    <telerik:RadVirtualKeyboard />

    界面控件Telerik UI for WPF - 如何为WPF应用制作一个虚拟键盘?
    主要功能

    布局

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

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

    界面控件Telerik UI for WPF - 如何为WPF应用制作一个虚拟键盘?

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

    界面控件Telerik UI for WPF - 如何为WPF应用制作一个虚拟键盘?

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

    界面控件Telerik UI for WPF - 如何为WPF应用制作一个虚拟键盘?

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

    支持语言文化

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

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

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

    使用声音

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

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

    键盘窗口

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

    var keyboardWindow = new RadVirtualKeyboardWindow(new RadVirtualKeyboard() { DefaultKeyboardLayout = DefaultKeyboardLayout.Compact});
    keyboardWindow.Show();
    界面控件Telerik UI for WPF - 如何为WPF应用制作一个虚拟键盘?

    Telerik_KendoUI产品技术交流群:726377843    欢迎一起进群讨论

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

  • 相关阅读:
    TreeSet和TreeMap中“相等”元素可能并不相等
    求众数——摩尔投票
    5802. 统计好数字的数目
    快速幂
    LCP 07.传递消息
    332. 重新安排行程(欧拉回路问题)
    126. 单词接龙 II
    879. 盈利计划
    287. 寻找重复数
    239. 滑动窗口最大值
  • 原文地址:https://www.cnblogs.com/AABBbaby/p/16638195.html
Copyright © 2020-2023  润新知