【发布时间】:2018-09-17 20:44:15
【问题描述】:
终于设法让 Colorpickers 下来并排序,它们目前在 OnNavigateTo 基础上工作。
当我从颜色选择器中选择一种颜色时,我想立即应用到我的 NavigationViewItems 的前景,或者在我单击设置页面中名为 TextColourApply_Click 的按钮后应用。
目前提到的颜色选择器位于 settingspage 上,而 NavigationViewItems 位于 MainPage 上。
我正在考虑进行 UI 刷新,但据我所知,这不适用于 UWP。作为一种解决方法,我正在考虑进行当前的框架导航,但这不起作用
我有以下允许在导航回“主页”时应用所选颜色:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
SolidColorBrush DefaultTextColour = Application.Current.Resources["DefaultTextColour"] as SolidColorBrush;
if (ColourSelections.TextColour != null)
{
DefaultTextColour = ColourSelections.TextColour;
}
foreach (var item in NavView.MenuItems.OfType<NavigationViewItem>())
{
item.Foreground = DefaultTextColour;
}
}
任何关于如何实现这一点的想法将不胜感激。谢谢
【问题讨论】:
-
基本上总结一下:无论何时按下应用按钮而不是导航到页面时,您都希望更新颜色?
-
并且此应用按钮出现在设置页面上,对吗?我认为您理想的解决方案是,每当您从颜色选择器中选择一种颜色时,它都应该更改 navigationviewitems 的前景,对吗?
-
请确保更新您的问题并输入您的用例的完整上下文,您需要提及颜色选择器事件以及您使用的静态类。为了让其他人能够理解您问题的完整背景,请查看答案,以便您更好地了解该问题要提供的内容。