C# 绑定到属性

C# 绑定到属性,c#,wpf,xaml,data-binding,C#,Wpf,Xaml,Data Binding,我的Page类中有一个属性(MainStudent): public partial class AddStudent : Page { public AddStudent() { InitializeComponent(); MainStudent = new Student(); } public Student MainStudent { get; set; } } 将Mai

我的Page类中有一个属性(MainStudent):

public partial class AddStudent : Page
{
    public AddStudent()
    {
        InitializeComponent();
        MainStudent = new Student();
    }

    public Student MainStudent
    {
        get;
        set;
    }
}

将MainStudent属性(学生类有一些方法,例如:FirstName,LastName.)的FirstName属性绑定到XAML中TextBox的Text属性的最佳方法是什么

如果包含“MainStudent”的类是您的DataContext,请使用以下命令 比如说

<Grid DataContext="{StaticRessource YourViewModelDefinedInRessources}">
    <TextBox Text="{Binding MainStudent.FirstName}" />
    <TextBox Text="{Binding MainStudent.LastName}" />
</Grid>

如果您需要进一步帮助,请询问;)


如果您的
页面
的属性仅引用
学生
,您可以直接在那里设置其
数据上下文
,作为当前构造函数的最后一行:

this.DataContext = this.MainStudent;
然后在XAML中直接绑定到Student的属性:

<TextBox Text="{Binding FistName}"></TextBox>
还有绑定,比如:

<TextBox Text="{Binding MainStudent.FirstName}"></TextBox>


请注意,使用UpdateSourceTrigger=PropertyChanged,您键入的每个字符都会调用setter。否则,在失去焦点时调用Setter,它通知视图模型已更改,因此可以更新视图。
this.DataContext = this;
<TextBox Text="{Binding MainStudent.FirstName}"></TextBox>