先扯些废话,与主题不想干的:
如果要我评价一门语言,我觉得除了oc,我就要夸c#了。可惜c#继linq出来后,越来越多的语法糖。并不是说语法糖有多么不好,关键是c#尼玛只能在windows上用,然后你要记住越来越多的语法糖,大哥我记忆力不好,当然像unity神马的引擎平台也用c#作脚本语言,但还是希望往linux发展快一点。
然后我们来说,主题提到的问题该怎么解决。在模型类中使用 INotifyPropertyChanged 接口就好了,比如(我的命名法不规范哈,因为写小软件,我就怎么快怎么来了):
namespace yzhl_data.model
{
class ViewListItem : INotifyPropertyChanged
{
public string name { get; set; }
private string _status;
public string status {
get
{
return _status;
}
set
{
_status = value;
if( PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("status"));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
}
在xaml的主类中:
public partial class MainWindow : Window
{
private ObservableCollection<yzhl_data.model.ViewListItem> grid_list;
}
主要思路就是,属性更改的时候,通知一下UI就行了。