C# 标题栏高度返回不一致
长话短说,我试图运行这个特定的代码C# 标题栏高度返回不一致,c#,uwp,height,titlebar,C#,Uwp,Height,Titlebar,长话短说,我试图运行这个特定的代码 CoreApplicationViewTitleBar coreTitleBar = CoreApplication.GetCurrentView().TitleBar; coreTitleBar.ExtendViewIntoTitleBar = true; dragarea.Height = coreTitleBar.Height; HamBut.Margin = new Thickness(0, dragarea.Height, 0, 0); Window
CoreApplicationViewTitleBar coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;
dragarea.Height = coreTitleBar.Height;
HamBut.Margin = new Thickness(0, dragarea.Height, 0, 0);
Window.Current.SetTitleBar(dragarea);
当我第一次运行它时,coreTitleBar.Height
返回32。但是,当我试图重新运行它时,它返回0
这应该是一个错误,还是我做错了
目前正在使用Visual Studio 2017 RC。这取决于代码运行的时间,是的,UWP对此并不十分一致 您需要订阅
coretTitleBar.LayoutMetricsChanged
事件,然后在回调中更新高度。这将说明标题栏的大小因某种原因而改变的情况
coreTitleBar.LayoutMetricsChanged += delegate
{
dragarea.Height = coreTitleBar.Height;
HamBut.Margin = new Thickness(0, dragarea.Height, 0, 0);
};
它还消除了“但有时为零”的问题。我测试它总是返回0。除非我单击最小化按钮或任务栏上的图标,否则它将返回32.5秒。我也得到了一个像你一样的微笑结果。再说一次,不应该发生这样的事。