SystemAccentColor + 转换器
SystemAccentColor + Converter
[UWP] 我从 SystemAccentColor 颜色创建了一个 SolidColorBrush 资源,我尝试添加一个转换器来使颜色变亮,但它起作用了仅在运行时...我看到颜色变浅,但如果我进入设置 OS 并更改强调色,它会在其他文本中发生变化,而我的转换器颜色不起作用。当我更改系统强调色时,是否有方法 "update" 我的资源?
在我的应用程序中:
<Grid Background="{ThemeResource AuraAccent}"/>
<Grid Background="{ThemeResource AuraAccentLight1}"/>
资源字典:
<SolidColorBrush x:Key="AuraAccent" Color="{ThemeResource SystemAccentColor}"/>
<SolidColorBrush x:Key="AuraAccentLight1" Color="{Binding Source={ThemeResource SystemAccentColor}, Converter={ThemeResource shade}, ConverterParameter=30}"/>
AuraAccent 在运行时和更改强调色时工作。
AuraAccentLight1 在运行时工作,但在我更改强调色时不起作用。
实际工作原理:
http://sharex.lucapatera.it/uploads/2016-08-31_19-34-32.mp4
我查看了几个资源字典文件并注意到字典将在 App 初始加载时加载。将更新实际主题资源的更改,但不会更新自定义画笔(在您的情况下是 AuraAccentLight1,因为它使用转换器)。
这就是我所做的。我没有使用只工作一次的阴影颜色创建 ResourceDictionary,而是将第二个网格绑定到第一个网格,说当第一个网格的颜色发生变化时,第二个网格颜色也应该更新。
下面是我的 XAML
<Grid x:Name="grid" Background="{ThemeResource AuraAccent}"/>
<Grid>
<Grid.Background>
<SolidColorBrush Color="{Binding Background.Color, Converter={StaticResource ColorHelper}, ElementName=grid,ConverterParameter=30}" />
</Grid.Background>
</Grid>
如果有帮助请告诉我。
受到AVK Naidu的启发,我是这样解决的:
<SolidColorBrush x:Key="AuraAccentLight1" Color="{Binding Color, Source={ThemeResource AuraAccent}, Converter={ThemeResource shade}, ConverterParameter=30}"/>
感谢大家
最终结果:
http://sharex.lucapatera.it/uploads/2016-09-10_19-33-45.gif
[UWP] 我从 SystemAccentColor 颜色创建了一个 SolidColorBrush 资源,我尝试添加一个转换器来使颜色变亮,但它起作用了仅在运行时...我看到颜色变浅,但如果我进入设置 OS 并更改强调色,它会在其他文本中发生变化,而我的转换器颜色不起作用。当我更改系统强调色时,是否有方法 "update" 我的资源?
在我的应用程序中:
<Grid Background="{ThemeResource AuraAccent}"/>
<Grid Background="{ThemeResource AuraAccentLight1}"/>
资源字典:
<SolidColorBrush x:Key="AuraAccent" Color="{ThemeResource SystemAccentColor}"/>
<SolidColorBrush x:Key="AuraAccentLight1" Color="{Binding Source={ThemeResource SystemAccentColor}, Converter={ThemeResource shade}, ConverterParameter=30}"/>
AuraAccent 在运行时和更改强调色时工作。
AuraAccentLight1 在运行时工作,但在我更改强调色时不起作用。
实际工作原理: http://sharex.lucapatera.it/uploads/2016-08-31_19-34-32.mp4
我查看了几个资源字典文件并注意到字典将在 App 初始加载时加载。将更新实际主题资源的更改,但不会更新自定义画笔(在您的情况下是 AuraAccentLight1,因为它使用转换器)。
这就是我所做的。我没有使用只工作一次的阴影颜色创建 ResourceDictionary,而是将第二个网格绑定到第一个网格,说当第一个网格的颜色发生变化时,第二个网格颜色也应该更新。
下面是我的 XAML
<Grid x:Name="grid" Background="{ThemeResource AuraAccent}"/>
<Grid>
<Grid.Background>
<SolidColorBrush Color="{Binding Background.Color, Converter={StaticResource ColorHelper}, ElementName=grid,ConverterParameter=30}" />
</Grid.Background>
</Grid>
如果有帮助请告诉我。
受到AVK Naidu的启发,我是这样解决的:
<SolidColorBrush x:Key="AuraAccentLight1" Color="{Binding Color, Source={ThemeResource AuraAccent}, Converter={ThemeResource shade}, ConverterParameter=30}"/>
感谢大家
最终结果: http://sharex.lucapatera.it/uploads/2016-09-10_19-33-45.gif