如何每5秒异步地应用不同的资源计算样式



以下是代码,我想更改mahapps.metro pakage的主题颜色。

可以通过更改Mahapps的资源源包来更改。[/mahapps.metro; component/styles/accents/blue.xaml]

现在说示例它/blue.xaml ...我们可以更改窗口的颜色。to/red.xaml,/Yyellow.xaml等

那么,如何在每5秒钟内一次异步更改窗口的颜色?这在WPF中可以吗?

我是WPF和无知的新手。

  <controls:MetroWindow x:Class="NginX.Choose"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
    Title="NginX" Height="350" Width="350" ShowMaxRestoreButton="False">
<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
         <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>
<Grid>
</Grid>
</controls:MetroWindow>

您可以通过:

来替换应用程序的资源词典
Application.Current.Resources.Clear()
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary()
{
   Source = new Uri("pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml")
});

将其放入计时器中,然后循环通过red.xaml,blue.xaml等

最新更新