【问题标题】:Windows Universal App SetTitleBarWindows 通用应用程序 SetTitleBar
【发布时间】:2015-09-18 07:40:46
【问题描述】:

我对 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);

这让我很困惑,希望有人能给我解释一下,谢谢。

【问题讨论】:

    标签: c# windows windows-10 win-universal-app uwp


    【解决方案1】:

    "但是如果我不调用函数(EnableControlsInTitleBar),示例 还是很好用”

    我不认为这是事实。有几个地方会调用这个函数,所以我想你没有把它们都注释掉。

    以下行用于让您的自定义标题栏可以像默认标题栏一样处理输入(例如鼠标单击)。

    Window.Current.SetTitleBar(BackgroundElement);
    

    这里以 MS 样本为例。如果我们在没有任何更改的情况下启动 MS 示例,您可以执行以下操作:

    选择“2) 自定义绘图” -> 选中“将视图扩展到标题栏” -> 选中“启用标题栏中的控件” -> 你会看到跟随标题栏并能够选中标题栏上的复选框。

    但是如果我们注释掉 SetTitleBar 调用,复选框将不会响应您的鼠标点击。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      相关资源
      最近更新 更多