2010-03-03 3 views
8

Как использовать привязку данных из кода (C# или VB)?WPF: привязка данных с кодом

Это то, что у меня есть до сих пор, но оно отображает Binding.ToString вместо 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 

ответ

13

Да, связывание в коде немного отличается от прямого присваивания (который, как XAML делает его похожим он работает).

Я могу привести пример в C# - не должен быть слишком удален из VB.NET.

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

Так метод «SetBinding» связывает «FirstName» путь (от DataContext) для содержания собственности лейбла.

5

Вы должны использовать m_Rep как источник Binding

У меня есть некоторый образец C# код для вас, как показано ниже

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); 

Надежда, чтобы помочь

Смежные вопросы