basquang™ on clouds

July 13, 2009

WPF: Data Binding (P7)

Filed under: WPF — basquang @ 9:03 AM

Trong ví dụ trước Simple Data Binding, mặc dù chúng ta có thể cập nhật UI với sự thay đổi của Object và ngược lại. Tuy nhiên chúng ta vẫn phải làm điều đó một cách thủ công. Sử dụng WPF Data Binding engine, công việc đó sẽ được thực thi một cách tự động.

Ví dụ trên được thay đổi như sau sử dụng Data Binding.

window1.xaml

<Window...>
    <Grid Name="grid" >
        ...

<TextBox Height="23" Margin="95,9,12,0" Name="txtFirstName" VerticalAlignment="Top"

Text="{Binding Path=FirstName}" />

<TextBox Margin="95,65,12,86" Name="txtLastName"

Text="{Binding Path=LastName}" />

        ...

<TextBlock Height="21" Margin="95,0,12,59" Name="tblFullName" VerticalAlignment="Bottom"

Text="{Binding Path=FullName}" />

    </Grid>
</Window>

window1.xaml.cs

public partial class Window1 : Window
    {
        Person person = new Person("Quang", "Nguyen");
        public Window1()
        {
            InitializeComponent();
 
            grid.DataContext = person;
        }
 
        private void btnDisplay_Click(object sender, RoutedEventArgs e)
        {
            //Ghi nhận lại Full name
            person.FullName = person.FirstName + " " + this.txtMiddleName.Text + " " + person.LastName;          
 
            //Show message box khi click vào button
            MessageBox.Show("Hello " + person.FullName);
        }
    }

Kết quả

image

Chúng ta thấy rằng, kết quả thể hiện là giống như các ví dụ trước. Tuy nhiên không có sự Initialization UI cũng như là binding again trong Event.

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: