我是在WPF中建立基本的应用程序;我无法在主视图中显示学生姓名(“Alexa”)。下面是我的代码详细信息:
我在Model中有一个Student.cs类,如图所示
namespace Client.Model
{
class Student:INotifyPropertyChanged
{
private string _name ="Alexa";
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged(nameof(Name));
}
}
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public event PropertyChangedEventHandler? PropertyChanged;
} }
字符串
而MainViewModel.cs是
class MainViewModel: ViewModelBase
{
public Student Student
{
get { return _student; }
set {
if (_student != value)
{
_student = value;
}
OnPropertyChanged("_student");
}
}
}
型
在我的主视图中,我尝试将学生姓名显示为
<Label FontStyle="Italic" >Student Name is:</Label>
<Label FontStyle="Italic" Content="{Binding Student.Name}" ></Label>
型
我也设置了
MainView.cs中的this.DataContext = new MainViewModel();
我错过了什么?
1条答案
按热度按时间nue99wik1#
您需要在某处初始化
Student
属性:字符串
还要注意,您应该使用
nameof
运算符为MainViewModel
类中的 property 引发PropertyChanged
事件。