wpf C# 检索强调色 windows 10

swift

1个回答

写回答

小盼盼2021

2025-07-09 19:14

+ 关注

微软
微软

在WPF C#中,我们经常需要为应用程序添加一些强调色,以增强用户界面的可视效果。随着Windows 10的发布,微软引入了一种新的颜色调色板,称为强调色。强调色是一种鲜艳且醒目的颜色,用于突出显示应用程序中的重要元素。

在Windows 10中,我们可以通过使用AccentColor属性来设置强调色。这个属性是一个系统级别的属性,它定义了整个操作系统中使用的强调色。我们可以通过访问注册表来获取当前的强调色,并在我们的应用程序中使用它。

以下是一个简单的示例代码,演示了如何在WPF应用程序中使用强调色:

csharp

using Microsoft.Win32;

using System.Windows;

using System.Windows.Media;

namespace WpfApp

{

public partial class MAInWindow : Window

{

public MAInWindow()

{

InitializeComponent();

// 获取当前强调色

Color accentColor = GetAccentColor();

// 设置窗口标题栏的颜色

TitleBar.Background = new SolidColorBrush(accentColor);

}

private Color GetAccentColor()

{

// 从注册表中获取当前强调色

using (RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\DWM"))

{

int accentColorValue = (int)key.GetValue("AccentColor", -1);

int accentColorMenuValue = (int)key.GetValue("AccentColorMenu", -1);

// 将RGB值转换为Color对象

byte r = (byte)(accentColorValue >> 16);

byte g = (byte)(accentColorValue >> 8);

byte b = (byte)accentColorValue;

Color accentColor = Color.FromRgb(r, g, b);

return accentColor;

}

}

}

}

设置窗口标题栏的颜色

在上述代码中,我们首先通过调用GetAccentColor方法获取当前的强调色。该方法通过访问注册表获取AccentColorAccentColorMenu的值,并将其转换为Color对象。

然后,我们使用TitleBar控件来表示窗口的标题栏,并将其背景颜色设置为当前的强调色。这样,窗口的标题栏将以强调色呈现,为用户提供更好的视觉效果。

通过使用这种方法,我们可以轻松地为我们的WPF应用程序添加强调色,从而使其与Windows 10的整体外观风格保持一致。

在本文中,我们学习了如何在WPF C#应用程序中使用强调色。我们了解了Windows 10中的强调色概念,并演示了如何通过访问注册表来获取当前的强调色,并将其应用于应用程序的用户界面。

通过使用这种方法,我们可以轻松地为我们的应用程序增加一些视觉效果,使其与Windows 10的整体外观风格保持一致。这将提升用户体验,并使我们的应用程序更加吸引人。

希望本文对您在WPF C#中使用强调色有所帮助!

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号