【问题标题】:2 columns window with built-in keyboard带有内置键盘的 2 列窗口
【发布时间】:2014-06-27 09:24:42
【问题描述】:

您好,我想使用具有 2 列的 WPF 构建在 Windows 7 上运行的应用程序,其中一列将是虚拟键盘或屏幕键盘 (osk),另一列将是我的应用程序的内容。

键盘将始终出现在我的应用程序的每个页面/窗口上。键盘非常简单,字母和数字带有一些按钮,例如 enter 和 del。我的问题是:

  1. 如何在一个窗口上创建 2 列?
  2. 是否可以免费使用键盘将其附加到我的项目中?以及如何创建自己的虚拟键盘?
  3. 如何让虚拟键盘始终出现在每个窗口中?

【问题讨论】:

    标签: c# .net wpf on-screen-keyboard


    【解决方案1】:

    构建两列很简单。像这样添加一个带有两个ColumnDefinitions 的网格

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Keyboard Grid.Column="0" />
        <CustomContent Grid.Column="1" />
    </Grid>
    

    键盘控制可以看this link

    另外,如果你不想要这个完全实现的复杂的东西,你可以用这个简单地打开屏幕键盘 -

    public void CheckKeyboard() 
    {
        KeyboardCapabilities keyboardCapabilities = new Windows.Devices.Input.KeyboardCapabilities();
        var isKeyboardPresent = keyboardCapabilities.KeyboardPresent != 0 ? true : false;
        if(!isKeyboardPresent)
            ShowKeyboard();
    }
    
    public void ShowKeyboard()
    {
        Path(Environment.SpecialFolder.System) + Path.DirectorySeparatorChar + "osk.exe");
    }
    

    【讨论】:

    • 我不使用 windows osk,但是谢谢。以及如何使键盘始终出现在每个窗口上?我必须将键盘代码粘贴到键盘列中吗?
    • 请参阅此链接 - codeproject.com/Articles/145579/… 并转到“将其用于您自己的应用程序”部分。它解释了如何将其嵌入到您的应用程序中。
    • 该部分给出了两个不同窗口的示例,我的条件是在一个窗口上拆分为两个列
    • 请浏览链接,它包含您所有的答案。
    猜你喜欢
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多