Свойство пользовательской привязки не обновляется

#.net #vb.net #winforms #data-binding

Вопрос:

Я не могу обновить свое пользовательское свойство UserControl при изменении связанного источника — у меня есть несколько вложенных элементов управления пользователями: «DetailView», содержащий «SubDetailView».

.. с моим подробным представлением, содержащим представление DataGrid, и я хочу, чтобы в представлении subdetail отображались некоторые данные в зависимости от выбранного элемента в представлении DataGrid.

Я попробовал следующее; это мой подробный обзор:

 Public Class DetailView  Inherits IPropertyChanged     Private _selectedVehicle As Vehicle   ' This is the property which is updated when the selection in the DataGridView changes  Public Property SelectedVehicle As Vehicle  Get  Return _selectedVehicle  End Get  Set(value As Vehicle)  _selectedVehicle = value   ' Raising PropertyChanged for color when my vehicle changes, as it depends on it  OnPropertyChanged(NameOf(Color))  End Set  End Property   Public ReadOnly Property Color As Color  Get  Return SelectedVehicle?.Color  End Get  End Property    Public Sub New()  InitializeComponent()    ' My Color-Property is bound to the Color-Property of my SubDetailView  Me.MySubDetailView.DataBindings.Add("Color", Me, NameOf(Color))  End Sub   Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged   Private Sub OnPropertyChanged(lt;CallerMemberNamegt; Optional propertyName As String = "")  RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName)  End Sub   End Class  

И мой поддетальный вид

 Public Class SubDetailView    Private _color As Color   ' Color property is not updated when the Vehicle property of my DetailView changes  Public Property Color As Color  Get  Return _color  End Get  Set(value As Color)  _color = value  End Set  End Property   End Class  

Я бы ожидал, что мой установщик свойств будет иметь SubDetailView.Цвет вызывается при изменении DetailView.Vehicle или я что-то не так понял?