Window.SetTitleBar(UIElement) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使 XAML 元素与系统交互,就像它是标题栏一样。
public:
virtual void SetTitleBar(UIElement ^ value) = SetTitleBar;
void SetTitleBar(UIElement const& value);
public void SetTitleBar(UIElement value);
function setTitleBar(value)
Public Sub SetTitleBar (value As UIElement)
参数
注解
使用此方法可以指定与系统交互的 XAML 元素,就好像它是应用窗口的标题栏一样。 使用此方法时,通常会将 CoreApplicationViewTitleBar.ExtendViewIntoTitleBar 属性设置为 true ,以便隐藏默认的系统标题栏。 但是,即使默认系统标题栏未隐藏,也可用于使应用中的其他区域的行为与标题栏类似。
使用 CoreApplicationView.TitleBar 属性获取应用窗口的 CoreApplicationViewTitleBar 实例,如下所示。
// Requires using Windows.ApplicationModel.Core
CoreApplicationView coreView = CoreApplication.GetCurrentView();
CoreApplicationViewTitleBar coreTitleBar = coreView.TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;
// -- OR --
CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
注意
当在移动设备上运行应用时,此方法不起作用,因为应用在移动设备上始终全屏显示,并且没有窗口标题栏。
输入
调用此方法以将 XAML UIElement 设置为标题栏时,它允许 Windows 像处理默认系统标题栏输入一样处理标题栏 UIElement 的输入。 例如,用户可以通过拖动 XAML UIElement 来移动窗口,或通过右键单击窗口上下文菜单来调用它。
这意味着,当用户使用触摸、鼠标或笔与目标 UIElement 或其子级交互时,你的应用不再接收指针输入。 但是,你仍必须处理 (或阻止) 键盘输入,并确定标题栏中的内容是否可以通过使用键盘按 Tab 键来接收焦点。
布局和外观
必须更新目标 UIElement 的视觉内容和布局,以响应标题栏更改,如可见性和大小。
若要匹配系统标题栏的可见性,请处理 CoreApplicationViewTitleBar.IsVisibleChanged 事件,并通过根据需要显示和隐藏自定义标题栏来尊重 CoreApplicationViewTitleBar.IsVisible 属性。 这可确保在隐藏系统标题栏时正确隐藏自定义标题栏内容;例如,当用户选择以全屏模式显示你的应用时。
若要确保标题栏与始终存在的系统“最小化”、“最大化”和“关闭”按钮等其他标题栏元素的大小匹配,请处理 CoreApplicationViewTitleBar.LayoutMetricsChanged 事件并遵循 CoreApplicationViewTitleBar.Height、 SystemOverlayLeftInset 和 SystemOverlayRightInset 属性。
默认标题栏按钮(如“最小化”、“最大化”和“关闭”)始终由系统显示,因此你可能还希望修改其颜色以匹配自定义 XAML 标题栏内容。 为此,请使用 Windows.UI.ViewManagement.ApplicationView.TitleBar 属性获取应用窗口的 ApplicationViewTitleBar 实例。 然后,可以在 ApplicationViewTitleBar 上设置各种颜色属性,以修改默认按钮。