ile güncelleştirme nasıl yapılır? Nesnelerin bir koleksiyonuna veri olan bir liste kutusu var. Öğelerin görüntülenme şeklini, bu nesnelerden birinin programımdaki START nesnesi olduğunu kullanıcıya göstermek için değiştirmek istiyorum.liste kutusu öğelerini INOTifyPropertyChanged
Bunu şu şekilde yapmayı denedim, ancak liste kutusu otomatik olarak güncelleştirilmiyor. Denetimi geçersiz kılma da işe yaramadı.
Bulabildiğim tek yol, veri kutularını tamamen kaldırmak ve tekrar eklemek. ama benim durumumda bu arzu edilmez.
Başka bir yolu var mı?
class Person : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _name;
public string Name
{
get
{
if (PersonManager.Instance.StartPerson == this)
return _name + " (Start)";
return _name;
}
set
{
_name = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("Name"));
}
}
public Person(string name)
{
Name = name;
}
}
Bu
sınıf wich ben eminim listesi ve aşağıdaki koduprivate void button1_Click(object sender, EventArgs e)
{
PersonManager.Instance.StartPerson = (Person)listBox1.SelectedItem;
}
Hızlı yanıt için çok teşekkürler, bu bir cazibe gibi çalıştı! –
Sadece merak etmek gerekirse, bu gibi bir şeyi sıfırdan kodlamış olsaydınız, bu sorunu nasıl çözersiniz? –
Potansiyel olarak daha temiz bir yol, Name + DisplayName özelliği gibi bir şeylere sahip olabilir. Alternatif olarak, bir kişinin "Başlangıç" kişisi olup olmadığını belirleyen bir mülkünüz varsa, bu durumu ayarlamak etkinliği yükseltecektir. Çok fazla seçenek var - gerçekten nasıl kullanılacağına bağlı. –