Мой босс загрузил элемент управления xaml, который я должен использовать в приложении. Похоже, что хорошо, но есть странная проблема с внутренней логикой - свойство CurrentColor
(что мне нужно использовать в нашем приложении) определяется в control.xaml.cs
файле как:Управление привязкой к другому объекту
public SolidColorBrush CurrentColor
{
get { return (SolidColorBrush)GetValue(CurrentColorProperty); }
set
{
SetValue(CurrentColorProperty, value);
ActiveColor = CurrentColor;
}
}
Я использую этот элемент управления в диалоговом окне моего (что имеет свой собственный класс вид модели) и Я пишу этот вид связывания:
CurrentColor="{Binding myOwnViewModel.ColorActualValue, Mode=Default, UpdateSourceTrigger=PropertyChanged}">
в myOwnViewModel.cs
(который реализует INotifyPropertyChanged
) у меня есть свойство
public SolidColorBrush ColorActualValue{ // here is some logic}
Но когда я отладки приложения, я никогда не таргетировать CurrentColor - Я всегда хожу в CurrentColor
от control.xaml.cs
Как я могу связать эту «третью партию» управление моим имуществом от моего ViewModel
?
Возможно, это происходит потому, что (control.xaml.cs):
public static DependencyProperty CurrentColorProperty =
DependencyProperty.Register("CurrentColor", typeof(SolidColorBrush), typeof(ColorPickerComboBox), new PropertyMetadata(Brushes.Chocolate));
public static RoutedEvent ActiveColorChangedEvent = EventManager.RegisterRoutedEvent("ActiveColorChanged",
RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(ColorPickerComboBox));
я нашел вопрос What's wrong with "DataContext = this" in WPF user controls? и удалены DataContext = this;
из конструктора этого управления - но это еще не помогло
Установите DataContext в Уре ViewModel, а затем удалить ViewModel из Уре заявления обязательного –
Вы привязка к свойству myOwnViewModel.ColorActualValue, но в вашей модели ViewModel это имя CurrentColor. Проверьте окно вывода ошибок привязки. – GreenEyedAndy
GreenEyedAndy - извините за эту ошибку Я исправил вопрос – curiousity