[英]Touch Keyboard Hiding UI Element [Windows 10 & WPF]
我正在使用 .NET 5 為 Windows 10 編寫一個“可觸摸”WPF 應用程序。
我一直在 Stack Overflow 上尋找答案,但我沒有找到任何答案,這就是我問它的原因。
首先,我的 MainWindow 不是“最大化”,我的 WindowStyle 不是“無”。
<Window
x:Class="App1234.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:prism="http://prismlibrary.com/"
xmlns:notifications="clr-namespace:Notification.Wpf.Controls;assembly=Notifications.Wpf"
Title="App1234"
d:DesignHeight="1200"
d:DesignWidth="1920"
prism:ViewModelLocator.AutoWireViewModel="True"
Background="{DynamicResource MaterialDesignPaper}"
FontFamily="{materialDesign:MaterialDesignFont}"
Loaded="MainWindow_OnLoaded"
TextElement.FontSize="14"
TextElement.FontWeight="Medium"
TextElement.Foreground="{DynamicResource MaterialDesignBody}"
mc:Ignorable="d">
我可以觸摸下方的文本框,然后觸摸鍵盤打開。 但是我看不到控件,因為鍵盤隱藏了它。 我想“調整”我的應用程序以便仍然看到控件
如何在 WPF 應用程序中實現此行為?
謝謝你,亞瑟
我們還以沒有 uiAcess 標志的管理員身份啟動了我們的應用程序。 解決方案(除了回復)是刪除管理員要求。
我正在從事與 OP 相同的項目。
我們發現了這個https://github.com/microsoft/WPF-Samples/tree/master/Input%20and%20Commands/TouchKeyboard 。 在此示例中,Microsoft 提供了一些代碼來解決 WPF 與 .net 框架的問題。
現在這適用於他們的用例。 但我一直在嘗試使用 NET 5 項目來實現他們的代碼。 不出所料,這似乎是不可能的(應用程序只是在啟動時崩潰並溢出)
那么有誰知道是否有辦法讓應用程序同時使用 NET 5 和 .net 框架?
或者
將 Microsoft 的修復移植到 Net 5 中,這樣我們也可以使用它!
謝謝。
因此,經過進一步的重新搜索,我發現如何在這篇文章http://mheironimus.blogspot.com/2015/05/adding-touch-keyboard-support-to-wpf.html的幫助下解決我們的問題。 還有這個https://stackoverflow.com/a/57463543/14620831
private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
{
var elementWithFocus = Keyboard.FocusedElement as FrameworkElement;
if ((elementWithFocus != null) && ((e.PreviousSize.Height > e.NewSize.Height)))
{
elementWithFocus.BringIntoView();
}
}
這兩個鏈接都有助於了解出了什么問題。 首先,xaml 必須以 windows 可以在鍵盤出現時調整應用程序大小的方式進行編碼,基本上一個帶有堆棧面板的滾動查看器就可以了。
但這僅足以使 window 調整大小,這是代碼片段允許滾動查看器“滾動”到單擊的元素並將其顯示在虛擬觸摸鍵盤上方的時候。
THX到其他海報,希望這篇文章也能幫助其他人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.