触摸键盘出现时WPF应用程序中Windows的高度

Man*_*enk 11 c# windows keyboard wpf touch

我正在为Windows 10编写一个"可触摸"的WPF应用程序.想象一个包含以下网格的窗口:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
    </Grid.RowDefinitions>
    <TextBox Text="dsdsd"></TextBox>
    <TextBox Text="unten" Grid.Row="2" InputScope="Number"></TextBox>
</Grid>
Run Code Online (Sandbox Code Playgroud)

如果我的应用程序至少使用.NET 4.6.2编译并且其窗口最大化,我可以触摸下方TextBox并打开触摸键盘.但是我无法看到控件,因为键盘隐藏了它.此行为与Windows 8.x不同,其中键盘打开时渲染画布大小减少.在Windows Startbar-Search字段中执行相同操作时,该字段确实向上移动,因此我可以看到输入字段.使用最大化的explorer.exe打开键盘时,窗口会变小.

如何在WPF应用程序中实现此行为?

干杯,曼努埃尔

小智 0

您在创建窗口时尝试过使用:

    this.SizeToContent = SizeToContent.WidthAndHeight;
Run Code Online (Sandbox Code Playgroud)

这将自动修复宽度和高度以适合当前尺寸。

来源: https: //learn.microsoft.com/en-us/dotnet/framework/wpf/app-development/how-to-automatically-size-a-window-to-fit-its-content