【发布时间】:2017-01-12 04:52:18
【问题描述】:
我跟着uwp titlebar sample,除了一件事,它工作正常,标题栏的颜色总是一样的,但是当窗口不在前台时应该是不同的,我尝试使用LayoutMetricsChanged和IsVisibleChanged 监听散焦事件但它不起作用,那么如何设置新条的不同颜色并使其像真实的一样?
【问题讨论】:
-
检查应用程序是否有焦点可以看这里:stackoverflow.com/questions/34857990/…
-
InactiveBackgroundColor指定窗口不是前景时的标题栏颜色。 -
@RaymondChen 可以,但是自定义的titlebar是UIelement,不是Applicationviewtitlebar,所以没有这样的设置。
-
啊,我误解了这个问题。您有一个自定义绘制的标题栏(不仅仅是自定义颜色的标题栏)。您可以要求 UISettings.UIElementColor(InactiveCaption) 找出非活动标题颜色是什么。您可以在窗口激活状态更改时更改颜色。
IsVisibleChanged告诉您何时显示/隐藏您的自定义标题栏。 (例如,用户将应用设为全屏,因此隐藏了标题栏。然后用户将鼠标撞到屏幕顶部,标题栏暂时重新显示。) -
@RaymondChen UISettings.UIElementColor 是我正在寻找的一部分,谢谢。那么有没有办法让 UIElement 像标题栏一样自己设置颜色呢?我以为
Window.SetTitleBar会这样做。除此之外,看起来总共有 12 种颜色(msdn.microsoft.com/en-us/library/windows/apps/…)我需要注意以使标题栏像系统一样真实,其中一些不在UIElementColorEnum 中。