我有一个 UWP 应用程序,我想将它升级到流利的设计系统。我使用 Windows Template Studio 创建了一个新项目,我的导航是使用 Pivot 进行的。
现在我想把亚克力背景放在pivot 的标题上。正如 uwp 的设计指南中所述,建议在这种情况下使用 70% 的丙烯酸。
所以我尝试使用 70% 的丙烯酸和以下代码。
private void MainPivot_Loaded(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.Xaml.Media.AcrylicBrush"))
{
MainPivot.Background = Application.Current.Resources["SystemControlAltHighAcrylicWindowBrush"] as AcrylicBrush;
}
}
其中 MainPivot 是我正在使用的枢轴,这个加载的方法是该枢轴的加载事件。
问题是它仅适用于浅色或深色主题(取决于在应用程序的上次运行期间设置的主题),但是当应用程序运行并且我更改主题并在浅色或深色主题之间切换时,它无法正常工作对于这两个主题,例如,如果我使主题变暗,丙烯酸颜色仍然是白色,并且枢轴标题文本也是白色,因此会产生混乱的 UI。
此外,FallBack Color也没有任何意义,因为浅色主题的后备颜色是黑色(与黑色文本混合),并且在深色主题中也会出现同样的问题。
我之所以从后面的代码中执行此操作,是因为我的应用程序的最小项目目标是没有丙烯酸刷的创作者更新。