我做的一个UWP application.My要求是通过编程获得TaskBar的大小(这个应用程序将在不同分辨率的平板上运行)。在跟踪了关于堆栈溢出(实际上与隐藏/显示任务栏更相关)上的许多答案之后,我完成了以下操作:
How do I get the taskbar's position and size?
但这是不可能的情况下,UWP apps.Is有任何其他方式来获得高度的TaskBar。
请注意:在我的申请中,TaskBar总是可见的,我不打算隐藏它
谢谢!!
发布于 2015-11-26 09:05:28
好吧!因此,经过大量的网上搜索,在堆栈溢出和建议上看到了类似的答案,似乎在UWP应用中计算TaskBar高度并不是那么直接或简单的任务。然而,对于我的情况,我的工作围绕着,它工作得很好。但我会继续寻找合适的方法。假设我的屏幕分辨率是1600x900,下面是我所做的:
private void GetScreenDimension()
{
//To get Screen Measurements e.g. height, width, X,Y...
ApplicationView view = ApplicationView.GetForCurrentView();
//Getting the Window Title Bar height(In my case I get :Top=32,Bottom=860)
double titleBarHeight = view.VisibleBounds.Top;
//Getting the TaskBar Height
double taskBarHeight = view.VisibleBounds.Top + (view.VisibleBounds.Top / 4);
//Getting the workable Height of the screen ( excluding Task Bar Height)
double availableheight = GridTimelineContent.ActualHeight - taskBarHeight;
double availablewidth = GridTimelineContent.ActualWidth;
if (_viewModel != null)
{
_viewModel.AvailableHeight = availableheight;
_viewModel.AvailableWidth = availablewidth;
//Getting the actual Physical height (i.e including TitleBar Height and Task Bar Height, gives 900 in my case which is what I wanted)
_viewModel.ActualScreenHeight = view.VisibleBounds.Height + titleBarHeight + taskBarHeight;
_viewModel.PageWidth = (this as Page).ActualWidth;
}
}请注意:
1)当我在锁定(可见)的情况下运行应用程序时,view.VisibleBounds.Height为828。
2)当我使用view.VisibleBounds.Height TaskBar AutoHidden(不可见)运行应用程序时,我得到了868。
这给了我一个想法,900- 868 =32可以是小条高度,当我从828跳到868之后,Task意味着868-828=40可以是任务栏的高度。
结论:
标题栏高度= view.VisibleBounds.Top ( 32)
任务栏高度= view.VisibleBounds.Top ( 32) + (view.VisibleBounds.Top /4)( 8);(32+8 =总计40)
保持高度= view.VisibleBounds.Height ( 828)
如果将上述三种方法组合在一起,则可以使用以下代码获得900 (所需高度):
_viewModel.ActualScreenHeight = view.VisibleBounds.Height + titleBarHeight + taskBarHeight;
我希望这对其他人也有帮助。谢谢!!
发布于 2015-11-24 16:37:19
它不能简单地做,因为并不是每个支持UWP应用程序的平台都有桌面或TaskBar (而且桌面不算为设备功能之一,如照相机、麦克风、移动或位置传感器)!
如果您需要访问桌面,您将不得不创建一个桌面应用程序。
https://stackoverflow.com/questions/33898342
复制相似问题