我正在学习 WPF,在我的应用程序中我想使用用户定义的强调色。我所有的样式都定义在Style.xaml哪个是ResourceDictionary. 我想要实现的是:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Namespace"
x:Class="Namespace.Style"
x:ClassModifier="public">
<Color x:Key="AccentColor"
A="{Binding Accent.A}"
R="{Binding Accent.R}"
G="{Binding Accent.G}"
B="{Binding Accent.B}" />
<SolidColorBrush x:Key="AccentBrush" Color="{Binding AccentColor}"/>
</ResourceDictionary>
并在Style.xaml.cs:
namespace Namespace
{
public partial class Style : ResourceDictionary
{
// this color can be changed later
public Color Accent { get; set; }
public Style()
{
Accent = Color.FromRgb(0x13, 0xaf, 0xf0);
InitializeComponent();
}
}
}
上面的代码给出了错误:
'A 'Binding' cannot be set on the 'A' property of type 'Color'.
A 'Binding' can only be set on a DependencyProperty of a DependencyObject.'
还有哪些其他方法(最好不太复杂,但也很灵活)来实现此功能,让用户为应用程序的主题定义自己的强调色?
慕妹3242003
动漫人物
RISEBY
相关分类