为自定义标题栏设置非活动颜色
Set inactive color for customized titlebar
我遵循了 uwp titlebar sample,除了一件事它工作正常,标题栏的颜色总是相同的,但是当 window 不在前景时它应该不同,我尝试使用 LayoutMetricsChanged
和 IsVisibleChanged
来监听 defocus 事件,但它不起作用,那么如何设置新条的不同颜色并使它像真实的一样?
查看这篇文章:Eternal Coding - Take the control of your titlebar。
您将不得不处理事件 Window.Current.Activated
。例如,这是从同一篇文章中提取的代码:
private void Current_Activated(object sender, WindowActivatedEventArgs e)
{
if (e.WindowActivationState != CoreWindowActivationState.Deactivated)
{
BackButtonGrid.Visibility = Visibility.Visible;
MainTitleBar.Opacity = 1;
}
else
{
BackButtonGrid.Visibility = Visibility.Collapsed;
MainTitleBar.Opacity = 0.5;
}
}
此代码段将在 window 获得或失去焦点时更新其自定义标题栏的不透明度。
我遵循了 uwp titlebar sample,除了一件事它工作正常,标题栏的颜色总是相同的,但是当 window 不在前景时它应该不同,我尝试使用 LayoutMetricsChanged
和 IsVisibleChanged
来监听 defocus 事件,但它不起作用,那么如何设置新条的不同颜色并使它像真实的一样?
查看这篇文章:Eternal Coding - Take the control of your titlebar。
您将不得不处理事件 Window.Current.Activated
。例如,这是从同一篇文章中提取的代码:
private void Current_Activated(object sender, WindowActivatedEventArgs e)
{
if (e.WindowActivationState != CoreWindowActivationState.Deactivated)
{
BackButtonGrid.Visibility = Visibility.Visible;
MainTitleBar.Opacity = 1;
}
else
{
BackButtonGrid.Visibility = Visibility.Collapsed;
MainTitleBar.Opacity = 0.5;
}
}
此代码段将在 window 获得或失去焦点时更新其自定义标题栏的不透明度。