开发者

WPF: Data binding with code

How do I use data-binding from code (C# or VB)?

This is what I have so far, but it is displaying Binding.ToString instead of m_Rep.FirstName.

Public ReadOnly Property TabCaption As Object 
    Get
        Return New Label With {.Foreground = Brushes.Black, .Content = New Bin开发者_如何转开发ding("FirstName"), .DataContext = m_Rep}
    End Get
End Property


Yes, binding in code is a little different from straight assignment (which is how XAML makes it look like it works).

I can give you an example in C# - shouldn't be too far removed from VB.NET.

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

So the "SetBinding" method binds the "FirstName" path (of the DataContext) to the label's Content property.


You should use m_Rep as a Source of Binding

I have some sample C# code for you as below

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

Hope to help

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜