如何让应用栏保持在底部,而不考虑屏幕分辨率
本文关键字:底部 不考虑 分辨率 屏幕 应用 | 更新日期: 2023-09-27 18:33:02
我正在用 c# 构建一个 Windows 8 应用程序,但我无法让应用栏停留在屏幕底部。
我正在 2560x1440 PC 显示器和 1366x768 Windows 表面上测试该程序。它完全适合(默认情况下)Windows Surface设备,但显示在PC显示器的屏幕中间。
这是我所拥有的:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
can.Height = user.screenHeight; //Can is a canvas, which is being drawn on to.
can.Width = user.screenWidth; //user class contains information about the current user of the program
var resScale = Windows.Graphics.Display.DisplayProperties.ResolutionScale;
}
我可以轻松设置画布,因为它覆盖了整个屏幕。但我不确定如何处理应用栏。我很惊讶没有一个属性会自动将栏标记到屏幕底部。
下面是应用栏的 XAML:
<AppBar x:Name="mainBar" Canvas.Top="700" Width="1366" VerticalAlignment="Bottom">
<Button Style="{StaticResource NewWindowAppBarButtonStyle}" Click="Button_Click_1" />
</AppBar>
对不起,如果有人问这个问题。只是我已经四处寻找了很长时间,找不到任何可以帮助我的东西。
谢谢
你为什么不试试这个。这将在页面底部打开应用栏,而不考虑屏幕分辨率。
<Page.BottomAppBar>
<AppBar x:Name="mainBar" Padding="10,0,10,0" AutomationProperties.Name="Bottom App Bar" IsOpen="True">
<Button Style="{StaticResource NewWindowAppBarButtonStyle}" Click="Button_Click_1" />
</AppBar>
</Page.BottomAppBar>
如果画布是必需的,那么您可以使用它设置宽度和高度
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var bounds = Window.Current.Bounds;
can.Height = bounds.Height;
can.Width = bounds.Width;
}
同时尝试实现大小更改事件
Window.Current.SizeChanged += OnWindowSizeChanged;
并在那里应用相同的内容