2010-03-03 14 views
8

Wie verwende ich Datenbindung aus Code (C# oder VB)?WPF: Datenbindung mit Code

Dies ist, was ich bisher habe, aber es zeigt Binding.ToString anstelle von m_Rep.FirstName.

Public ReadOnly Property TabCaption As Object 
    Get 
     Return New Label With {.Foreground = Brushes.Black, .Content = New Binding("FirstName"), .DataContext = m_Rep} 
    End Get 
End Property 

Antwort

13

Ja, in Code-Bindung ist ein wenig anders als gerade Zuordnung (das ist, wie XAML macht es aussieht wie es funktioniert).

Ich kann Ihnen ein Beispiel in C# geben - sollte nicht zu weit von VB.NET entfernt sein.

var label = new Label { Foreground = Brushes.Black, DataContext = m_Rep }; 
label.SetBinding(Label.ContentProperty, new Binding("FirstName")); 
return label; 

So ist die „SetBinding“ Methode bindet den „Vornamen“ Pfad (der Datacontext) an den Content-Eigenschaft des Labels.

5

Sie sollten m_Rep als Quelle verwenden

Bindung

ich für Sie einige Beispiel-C# -Code haben, wie unten

Person myDataSource = new Person("Joe"); 
// Name is a property which you want to bind 
Binding myBinding = new Binding("Name"); 
myBinding.Source = myDataSource; 
// myText is an instance of TextBlock 
myText.SetBinding(TextBlock.TextProperty, myBinding); 

Hoffnung zu helfen