Data binding to target
First, we need an object
-
public
class
Preson
-
{
-
private
string name;
-
-
public
string Name
-
{
-
get {
return name; }
-
set { name =
value; }
-
}
-
private
string address;
-
-
public
string Address
-
{
-
get {
return address; }
-
set { address =
value; }
-
}
-
private
int age;
-
-
public
int Age
-
{
-
get {
return age; }
-
set { age =
value; }
-
}
-
}
Binding data context dependency attribute set
-
public MainWindow()
-
{
-
InitializeComponent();
-
Preson =
new Preson() { Name =
"慧哥", Address =
"大连", Age =
30 };
-
DataContext = Preson;
-
}
-
-
-
-
public Preson Preson
-
{
-
get {
return (Preson)GetValue(PresonProperty); }
-
set { SetValue(PresonProperty,
value); }
-
}
-
-
// Using a DependencyProperty as the backing store for Preson. This enables animation, styling, binding, etc...
-
public
static
readonly DependencyProperty PresonProperty =
-
DependencyProperty.Register(
"Preson",
typeof(Preson),
typeof(MainWindow),
new PropertyMetadata(
null));
-
-
<Grid HorizontalAlignment=
"Right" Width=
"517">
-
<Grid.ColumnDefinitions>
-
<ColumnDefinition Width=
"109*"/>
-
<ColumnDefinition Width=
"112*"/>
-
<ColumnDefinition Width=
"94*"/>
-
<ColumnDefinition Width=
"202*"/>
-
</Grid.ColumnDefinitions>
-
<Grid.RowDefinitions>
-
<RowDefinition Height=
"24*"/>
-
<RowDefinition Height=
"25*"/>
-
<RowDefinition Height=
"25*"/>
-
<RowDefinition Height=
"86*"/>
-
</Grid.RowDefinitions>
-
<TextBox HorizontalAlignment=
"Left" Height=
"23" Margin=
"101,27,0,0" Grid.Row=
"1" TextWrapping=
"Wrap" Text=
"{Binding Age,Mode=TwoWay}" VerticalAlignment=
"Top" Width=
"120" Grid.ColumnSpan=
"2" />
-
<TextBlock HorizontalAlignment=
"Left" Margin=
"41,22,0,0" TextWrapping=
"Wrap" Text=
"名字" VerticalAlignment=
"Top"/>
-
<TextBlock HorizontalAlignment=
"Left" Margin=
"79,22,0,0" TextWrapping=
"Wrap" VerticalAlignment=
"Top" Text=
"{Binding Name}" Width=
"30"/>
-
<TextBlock HorizontalAlignment=
"Left" Margin=
"10,22,0,0" TextWrapping=
"Wrap" Text=
"address" VerticalAlignment=
"Top" Grid.Column=
"1"/>
-
<TextBlock Margin=
"63.667,22,0,0" TextWrapping=
"Wrap" VerticalAlignment=
"Top" Text=
"{Binding Address}" Grid.Column=
"1"/>
-
<TextBlock HorizontalAlignment=
"Left" Margin=
"20,22,0,0" TextWrapping=
"Wrap" Text=
"age" VerticalAlignment=
"Top" Grid.Column=
"2"/>
-
<TextBlock Margin=
"57,22,0,0" TextWrapping=
"Wrap" VerticalAlignment=
"Top" Text=
"{Binding Age}" Grid.Column=
"2"/>
-
<TextBox HorizontalAlignment=
"Left" Height=
"23" Margin=
"0,17,0,0" Grid.Row=
"1" TextWrapping=
"Wrap" VerticalAlignment=
"Top" Width=
"120" Grid.ColumnSpan=
"2" Grid.Column=
"2" />
-
</Grid>
Front Binding WPF
Here you can also use INotifyPropertyChanged can
Use set ObservableCollenction <Object>