Xaml SystemAccentColor+;转换器
[UWP]我从SystemAccentColor创建了一个SolidColorBrush资源,我尝试添加一个转换器来减轻颜色,但它只能在运行时工作。。。我看到颜色变浅了,但如果我在设置操作系统中更改了重音颜色,它会在其他文本中更改,而我的颜色转换器无法工作。当我更改系统强调色时,是否有方法“更新”我的资源 在我的应用程序中:Xaml SystemAccentColor+;转换器,xaml,uwp,windows-10-universal,Xaml,Uwp,Windows 10 Universal,[UWP]我从SystemAccentColor创建了一个SolidColorBrush资源,我尝试添加一个转换器来减轻颜色,但它只能在运行时工作。。。我看到颜色变浅了,但如果我在设置操作系统中更改了重音颜色,它会在其他文本中更改,而我的颜色转换器无法工作。当我更改系统强调色时,是否有方法“更新”我的资源 在我的应用程序中: <Grid Background="{ThemeResource AuraAccent}"/> <Grid Background="{ThemeResou
<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}"/>
资源字典:
<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在运行时工作,但在更改重音颜色时不工作
实际工作原理:
我浏览了一些资源字典文件,发现字典将在应用程序最初加载时加载。将更新实际主题资源的更改,但不会更新自定义画笔(在您的情况下是1,因为它使用转换器) 这就是我所做的。我将第二个网格绑定到第一个网格,并说当第一个网格的颜色改变时,第二个网格的颜色也应该更新,而不是创建一个只有一次效果的着色颜色的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>
让我知道这是否有帮助。我浏览了一些资源字典文件,并注意到字典将在应用程序最初加载时加载。将更新实际主题资源的更改,但不会更新自定义画笔(在您的情况下是1,因为它使用转换器) 这就是我所做的。我将第二个网格绑定到第一个网格,并说当第一个网格的颜色改变时,第二个网格的颜色也应该更新,而不是创建一个只有一次效果的着色颜色的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}"/>
谢谢大家
最终结果:
受AVK Naidu的启发,我决定:
<SolidColorBrush x:Key="AuraAccentLight1" Color="{Binding Color, Source={ThemeResource AuraAccent}, Converter={ThemeResource shade}, ConverterParameter=30}"/>
谢谢大家
最终结果:
您已经尝试过什么?如果您在问题中分享您的(相关)代码,将更容易提供有用的答案。请参阅我的链接视频以了解您如何在转换器中点亮颜色?我们能看到那个代码吗?@AVKNaidu是的,这是我的代码(第13行):你知道-也许你可以尝试在没有转换器的情况下使用它们?你已经尝试过什么?如果您在问题中分享您的(相关)代码,将更容易提供有用的答案。请参阅我的链接视频以了解您如何在转换器中点亮颜色?我们能看到那个代码吗?@AVKNaidu是的,这是我的代码(第13行):你知道-也许你可以尝试在没有转换器的情况下使用它们?很好。很高兴我能提供帮助。我建议您添加对此答案所做的end app.xaml更改,并将其标记为答案,以便对其他人有所帮助。我不能这样做。因为:“你可以在22小时内接受你自己的答案”。我是stackoverflow的新手:)不错。很高兴我能提供帮助。我建议您添加对此答案所做的end app.xaml更改,并将其标记为答案,以便对其他人有所帮助。我不能这样做。因为:“你可以在22小时内接受你自己的答案”。我是stackoverflow的新手:)