在我的UWP应用程序中,我尝试将后退按钮放到标题栏中,这是我过去做过的很多次了。这一次,我面临的问题是,默认的标题栏似乎并没有消失,而是悬停在我的按钮上,所以我无法按它。我试着创建一个带有边距的自定义标题栏,但这并没有解决这个问题。这是延伸到标题栏.:
var coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;...and自定义标题栏:
var titleBarGrid = new Grid()
{
Background = new SolidColorBrush(Colors.Transparent),
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Top,
Height = 48,
Margin = new Thickness(50, 0, 150, 0),
};
Window.Current.SetTitleBar(titleBarGrid);这些是在App.xaml.cs中设置的。
如何删除/覆盖默认标题栏?
发布于 2018-08-08 02:56:04
不知何故,我将settitlebar(grid)移至InitializeComponent()之上,从而修复了它。马丁-如果我不设置颜色,它使窗口不能拖动,然后没有什么可拖动,除了默认左的最小化按钮。我制作成标题栏的网格有不重叠我的任何按钮的边距。
发布于 2018-08-06 10:11:02
问题是您正在将titleBarGrid的背景色设置为Transparent。虽然这是一种完全透明的颜色,但对于命中测试来说,它仍然是一种“实心”颜色。如果要确保Grid是通过单击完成的,则根本不要设置Background。
另外,我认为SetTitleBar的参数应该是一个已经是页面XAML树一部分的控件,所以您应该首先在页面的某个地方添加Grid。最简单的解决方案是直接在XAML中创建。
最后,如果要保留坚实的背景,还可以观察从Inset事件中获得的标题栏的CoreTitleBar.LayoutMetricsChanged值。SystemOverlayLeftInset属性将告诉您应该向左侧添加多少填充,这样内容就不会覆盖标题栏后退按钮。
最后,我想提到的是,最新的设计指南不鼓励在标题栏中使用back按钮,而是建议您在应用程序UI中实现back按钮。请参阅文档
以前,UWP应用程序使用AppViewBackButtonVisibility进行反向导航。API将继续支持向后兼容性,但我们不再建议依赖标题栏后退按钮。相反,您的应用程序应该绘制自己的应用程序中的后退按钮。
Back按钮应该是您在应用程序UI中的一部分,否则当在Windows 10中发布Sets功能时,它将导致一个不太好的后退按钮条显示在应用程序的顶部。
https://stackoverflow.com/questions/51692652
复制相似问题