Ich versuche eine Bindung zu einer explizit implementierten Interface-Eigenschaft von Code-Behind einzurichten. Der Grund für die CodeBehind-Bindung ist, dass der Pfad zur gebundenen Eigenschaft nur zur Laufzeit festgelegt werden kann.WPF - Bindung an eine explizit implementierte Interface-Eigenschaft von Code hinter/angehängtes Verhalten
In der XAML ist es möglich, auf diese Weise (Beispiel in MainWindow.xaml) zu binden:
<TextBox Text="{Binding (local:IViewModel.Property)}"/>
und in der Tat funktioniert in ähnlicher Weise hinter im Code-Bindung (von MainWindow.xaml.cs):
var binding = new Binding("(local:IViewModel.Property)");
seit WPF das Namespace-Mapping abholen kann.
Meine Frage ist, wie kann ich eine Bindung wie diese bilden, wenn das Namespace-Mapping nicht vorhanden ist (z. B. in einem angehängten Verhalten)?
Vielen Dank im Voraus!
Perfekt! Funktioniert wie ein Charme – mickeyt
+1. Könnten Sie vielleicht einen Link zu einer Syntaxreferenz für diese spezielle Art der Indizierung veröffentlichen? Ich habe es vorher nicht gesehen und kann es nicht im MSDN-Artikel [PropertyPath XAML Syntax] (http://msdn.microsoft.com/en-us/library/ms742451.aspx) finden. Ich dachte immer, es müsste '[]' benutzen. – Clemens
@Clemens: OK, aktualisiert. –