我需要将 ColorPicker 的 SelectedColor 属性绑定到可用颜色中不存在的自定义颜色。我创建了一个简单的测试来显示我的问题。我的xml:
<xctk:ColorPicker SelectedColor="{Binding Path=Test}"></xctk:ColorPicker>
后面的代码(CurrentStyle.PenColor 返回一个等于 的整数值13109765
):
public Color Test
{
get;
set;
}
public MyClass()
{
DataContext = this;
Test = Color.FromArgb((byte)((CurrentStyle.PenColor >> 24) & 0xFF),
(byte)((CurrentStyle.PenColor >> 16) & 0xFF),
(byte)((CurrentStyle.PenColor >> 8) & 0xFF),
(byte)(CurrentStyle.PenColor & 0xFF));
InitializeComponent();
}
这就是加载窗口时我的 ColorPicker 的样子:
不过,当我转到高级颜色时,我可以看到颜色已被识别并正确设置。这是一张照片:
希望得到您的帮助。非常感谢!
编辑
我实现了 INotifyPropertyChanged,仍然无济于事。这是代码:
public Color Test
{
get
{
return test;
}
set
{
if (test != value)
{
test = value;
OnPropertyChanged("Test");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string prop)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
也许我在这里做错了。