Ich habe ein Benutzer-Steuerelement (sagen A) mit zwei ContentPresenter jeweils gebunden an eine andere Benutzersteuerung (sagen B und C).WPF - Binding zwischen usercontrol
In einem der beiden UserControl (sagen B) habe ich eine ListBox von MyItem.
<ListBox ItemsSource="{Binding MyItemList}" SelectedItem="{Binding SelectedMyItem}">
MyItem Code:
Public Class MyItem
Implements INotifyPropertyChanged
Private m_Name As Integer
Public Property Name As Integer
Get
Return m_Name
End Get
Set(value As Integer)
m_Name = value
End Set
End Property
...
End Class
Im anderen (sagen C) Ich habe Textfelder, die ich SelectedItem Eigenschaften binden wollen (sagen MyItem.Name).
<TextBox Text="{Binding SelectedItem.Name}"/>
Ist es in irgendeiner Weise möglich? Weil ich keinen finden kann.
Vielen Dank für die Antwort. Ich bin sehr interessiert an der zweiten Methode, die Sie erwähnt haben, weil ich fast B und C Viewmodel in einem Viewmodel erstellen würde. Aber ich verstehe nicht, wie man eine Eigenschaft aktualisiert, wenn eine andere geändert wird. Können Sie in diesem Fall ein Beispiel für die Bindung des Textfelds (in XAML) schreiben? Danke – Emmanuele
Ich weiß nicht, Vb tatsächlich. Einfach an die String-Eigenschaft im entsprechenden View-Modell binden. Abonnieren von viewmodelinstance.property geändert im übergeordneten Ansichtsmodell. Bei einer Änderung der Eigenschaft überprüfen Sie den Namen der Eigenschaft mit ** e **. Wenn der Eigenschaftsname == Ihre erforderliche Eigenschaft ist, legen Sie die an die Textfeldtexteigenschaft gebundene Zeichenfolge fest. – ViVi