Мне нужно привязать свойство SelectedColor ColorPicker к пользовательскому цвету, которого нет в доступных цветах. Я создал простой тест, чтобы показать свою проблему. Мой XAML:Как я могу связать пользовательский цвет с набором инструментов WPF ColorPicker?
<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 выглядит, когда окно загрузки:
Хотя, когда я перехожу к расширенным цветам, я вижу, что цвет был распознан и установлен правильно. Вот ПОС:
Надежда на вашу помощь. Большое спасибо!
EDIT
Я реализовал 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));
}
Возможно, я делаю здесь что-то неправильно.
Вы правы, это не указано в моем коде, но я фактически использую System.Windows.Media.Color. –
, что действительно кажется проблемой, спасибо за идею! –