我对Microsoft GitHub存储库中的Title'Bar示例有疑问(https://github.com/JustinXinLiu/FullScreenTitleBarRepo/tree/master/FullScreenTitleBarRepo):在AddCustomTitleBar函数中,有一行:
customTitleBar.EnableControlsInTitleBar(areControlsInTitleBar);
EnableControlsInTitleBar在这里:
public void EnableControlsInTitleBar(bool enable)
{
if (enable)
{
TitleBarControl.Visibility = Visibility.Visible;
// Clicks on the BackgroundElement will be treated as clicks on the title bar.
Window.Current.SetTitleBar(BackgroundElement);
}
else
{
TitleBarControl.Visibility = Visibility.Collapsed;
Window.Current.SetTitleBar(null);
}
}
但是如果我不调用功能(EnableControlsInTitleBar),该示例仍然可以正常运行
在Justin XL示例(https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/TitleBar)中确实使用了以下示例:
Window.Current.SetTitleBar(BackgroundElement);
这让我感到困惑,希望有人可以给我一个解释,谢谢。
“但是,如果我不调用功能(EnableControlsInTitleBar),该示例仍然可以正常工作”
我不认为这是事实。有几个地方会调用此函数,所以我想您并未全部注释掉。
以下行用于让您的自定义标题栏可以像默认标题栏一样处理输入(例如,鼠标单击)。
Window.Current.SetTitleBar(BackgroundElement);
这里以MS示例为例。如果我们不做任何更改就启动了MS示例,则可以执行以下操作:
选择“ 2)自定义工程图”->选中“将视图扩展到标题栏中”->选中“在标题栏中启用控件”->您将看到以下标题栏,并能够选中标题栏上的复选框。
但是,如果我们注释掉SetTitleBar调用,则该复选框将不会响应您的鼠标单击。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句