Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带内置键盘的2列窗口_C#_.net_Wpf_On Screen Keyboard - Fatal编程技术网

C# 带内置键盘的2列窗口

C# 带内置键盘的2列窗口,c#,.net,wpf,on-screen-keyboard,C#,.net,Wpf,On Screen Keyboard,您好,我想使用WPF构建一个在Windows 7上运行的应用程序,其中有两列,一列是虚拟键盘或屏幕键盘(osk),另一列是我的应用程序的内容 键盘将始终显示在我的应用程序的每个页面/窗口上。键盘非常简单,有字母和数字,还有一些按钮,比如回车和del。我的问题是: 如何在一个窗口上创建两列 是否有免费使用的键盘将其连接到我的项目?我如何创建自己的虚拟键盘 如何使虚拟键盘始终显示在每个窗口上 建造两根柱子很简单。添加一个包含两个列定义的网格,如下所示 <Grid> <Gri

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

键盘将始终显示在我的应用程序的每个页面/窗口上。键盘非常简单,有字母和数字,还有一些按钮,比如回车和del。我的问题是:

  • 如何在一个窗口上创建两列
  • 是否有免费使用的键盘将其连接到我的项目?我如何创建自己的虚拟键盘
  • 如何使虚拟键盘始终显示在每个窗口上

  • 建造两根柱子很简单。添加一个包含两个
    列定义的网格,如下所示

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

    我不想使用windows osk,但是thx。如何使键盘始终显示在每个窗口上?我必须将键盘代码粘贴到键盘栏中吗?请参考此链接并转到“将其用于您自己的应用程序”部分。它解释了如何将其嵌入到应用程序中。该部分给出了两个不同窗口上的示例,我的条件是一个窗口拆分为两个列。请查看链接,它包含您的所有答案。
    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");
    }