1、dto数据绑定页面渲染
<!--方式一绑定-->
<TextBlock Grid.Row="0" Grid.Column="0" x:Name="button1" Text="{Binding Person.Name}" Width="100" Height="30" Margin="10,10,10,10"/>
public MainWindow()
{
InitializeComponent();
this.DataContext = new PersonViewModel();
}
public class PersonViewModel:ObservableObject
{
private Person person;
public Person Person
{
get =>person;
set => SetProperty(ref person, value);
}
public PersonViewModel()
{
Person = new Person
{
Name = "张三",
Age = 10,
Address = "居无定所",
};
}
}
<TextBox Grid.Row="0" Text="{Binding UserName}" Grid.Column="1"/>
<TextBlock Text="密码" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Margin="2"/>
<TextBox Grid.Row="1" Text="{Binding PassWord}" Grid.Column="1"/>
<!--方式二绑定-->
public partial class MainWindow : Window, INotifyCollectionChanged
{
private string _UserName;
private string _Password;
public string UserName { get; set; } = "默名称";
public string PassWord { get; set; } = "默认密码";
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
}
2、页面调用其他地方
Path 值是对应控件的任意属性
```csharp
<TextBlock Grid.Row="1" Grid.Column="0" Text="{Binding ElementName=button1,Path=Text}" Width="100" Height="30"/>
3、布局
尺寸的值处理
3.1给指定宽高度 <RowDefinition Height ="30"/>
3.2设置根据内容自动 <RowDefinition Height ="auto"/>
3.3 按比例 <RowDefinition Height="2*"/>