WPFでは、プロパティの3つのテキストボックス、FullName、FirstName、LastNameを作成します。これらのテキストボックスのテキストは、左のリストボックスに基づいています(下のプログラムイメージに示されています)。私はすでにテキストボックスにリストボックスからテキストを取得して終わりだけど、私は名前ように値を同期したい:どのように相互依存する値を持つプロパティを作成しますか?
のFullNameの値を変更し、リストボックス、姓と名のボックスを変更
と、姓と名の値を変更すると、フルネームを変更し、リストボックスここ
は、プログラムがどのように見えるかです:ジャレッドへ (Program image)
OKおかげで、私は彼の答えに小さな変更を加えることによって、問題を解決することができましたが、私は自分の解決策が好きではないeoneはこのプログラムのより良い改訂を示唆していますか?
class Student : INotifyPropertyChanged
{
private string name;
public string Name
{
get
{
return name;
}
set
{
FirstName = value.Split(" ".ToCharArray())?[0];
LastName = value.Split(" ".ToCharArray())?[1];
OnPropertyChanged("Name");
OnPropertyChanged("FirstName");
OnPropertyChanged("LastName");
}
}
private string firstName;
public string FirstName
{
get
{
return firstName;
}
set
{
firstName = value;
name = value + " " + LastName;
OnPropertyChanged("FirstName");
OnPropertyChanged("Name");
}
}
private string lastName;
public string LastName
{
get
{
return lastName;
}
set
{
lastName = value;
name = FirstName + " " + value;
OnPropertyChanged("LastName");
OnPropertyChanged("Name");
}
}
private Course _course;
public Course Course
{
get { return _course; }
set
{
_course = value;
OnPropertyChanged("Course");
}
}
private int _age;
public int Age
{
get { return _age; }
set
{
_age = value;
OnPropertyChanged("Age");
}
}
private DateTime _birthday;
public DateTime Birthday
{
get { return _birthday; }
set
{
_birthday = value;
OnPropertyChanged("Birthday");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
...それは、返信用 – uhhh