WPF: Data Binding (P7)

  • Post author:
  • Post category:WPF
  • Post comments:0 Comments
  • Reading time:3 mins read

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.

Leave a Reply