在C#中,通過使用Properties可以實現數據綁定。以下是一個簡單的示例,說明如何使用Properties實現數據綁定:
Person
的類,并為其添加兩個屬性:Name
和Age
。public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
MainWindow
的窗口類,并在其中添加一個TextBox
和一個Label
控件。public partial class MainWindow : Window
{
public Person Person { get; set; }
public MainWindow()
{
InitializeComponent();
DataContext = this;
BindData();
}
private void BindData()
{
// 綁定TextBox的Text屬性到Person的Name屬性
nameTextBox.SetBinding(TextBox.TextProperty, new Binding("Name"));
// 綁定Label的Content屬性到Person的Age屬性
ageLabel.SetBinding(Label.ContentProperty, new Binding("Age"));
}
}
MainWindow.xaml
文件中添加相應的UI元素:<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="200" Width="300">
<Grid>
<TextBox x:Name="nameTextBox" HorizontalAlignment="Left" Height="25" Margin="10,50,0,0" VerticalAlignment="Top" Width="200"/>
<Label x:Name="ageLabel" Content="Age:" HorizontalAlignment="Left" Margin="10,20,0,0" VerticalAlignment="Top"/>
</Grid>
</Window>
現在,當您在MainWindow
中更改TextBox
中的文本時,Label
將自動更新為顯示相應的年齡。同樣,當您更改Person
對象的屬性時,UI將自動更新以反映這些更改。