如果我有这样的课程:
public class MyClass:INotifyPropertyChanged
{
private Visibility isVisible;
private ObservableCollection<string> names;
public Visibility IsVisible
{
get{ return isVisible;}
set { isVisible = value; OnPropertyChanged("IsVisible");}
}
public ObservableCollection<string> Names
{
get { return names;}
set { names = value; OnPropertyChanged("Names");}
}
//ctor
public MyClass(){
names = new ObservableCollection<string>();
}
//INotifyPropertyChanged implementation
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
在任何人斩首我之前 - 我已经做了相当多的查找并找到了各种各样的答案......
我是否修改
public
或private
属性/变量以在我的绑定中使用?即我有一个问题,添加到names
集合将触发OnPropertyChanged
并且更改isVisible
不会触发OnPropertyChanged
。我的假设是,这是因为它不是names
一个ObservableCollection
地方,isVisible
但我不确定......如果我应该使用这些
public
属性 - 拥有私有属性有什么需要?