WPF: привязка данных с кодом - PullRequest
9 голосов
/ 03 марта 2010

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

Это то, что у меня пока есть, но отображается 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

Ответы [ 2 ]

14 голосов
/ 03 марта 2010

Да, привязка в коде немного отличается от прямого присваивания (именно так 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) со свойством Content метки.

5 голосов
/ 03 марта 2010

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

У меня есть пример кода 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);  

Надеюсь на помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...