我在Windows平板电脑上有一个WPF应用程序。因此,它没有键盘,因此只要我在应用程序中点击编辑框,就会出现屏幕键盘,页面显示垂直滚动查看器,方法是将文本框放在中心位置。这是因为我写的以下代码。
private void OnScrollChanged(object sender, ScrollChangedEventArgs e)
{
if (sender.GetType() != typeof(ScrollViewer))
return;
var sv = sender as ScrollViewer;
if (sv.ComputedVerticalScrollBarVisibility == Visibility.Visible)
{
var focusedControl = Keyboard.FocusedElement;
if (focusedControl == null)
return;
if (!textFieldIsCentered && focusedControl.GetType() == typeof(TextBox))
{
var textbox = focusedControl as TextBox;
ScrollViewerPositioner.CenterTextFieldInScrollView(textbox, sv);
textFieldIsCentered = true;
}
}
else
{
textFieldIsCentered = false;
}
}
但我的应用程序还需要在Windows 7启动时杀死explorer.exe。所以我有一个.bat文件在Windows启动时运行并杀死浏览器并默认启动我的应用程序而不让用户转到桌面。这是非常需要的,因为平板电脑应该仅限制用户仅查看我的应用程序。
现在,当我杀死资源管理器并点击编辑框时,滚动查看器不会出现。因此,位于页面底部的编辑框隐藏在屏幕键盘后面。这意味着资源管理器在滚动查看器中具有一定的中心作用。
我想知道的是,即使在杀死探险家之后,还有办法实现我想要的吗?