我正在VS 2010项目中尝试PCL,在该项目中,我希望支持WPF(4和更高版本)和Silverlight(4和更高版本)。下面的MS documentation 片段使我感到困惑。
似乎是在PCL项目中引用System.Windows,但我不知道如何做到这一点。
要在我的PCL项目中具有ICommand和INotifyPropertyChange,该怎么办?
编辑
INotifyPropertyChanged不可用;下面的代码将无法编译
public abstract class ViewModelBase : INotifyPropertyChanged
{
public virtual event PropertyChangedEventHandler PropertyChanged;
...
}
最佳答案
是的,MSDN在这一点上令人困惑(是否存在错误?)
基本上,您无事可做!
在创建PCL项目时,只需选择适当的框架。
PCL自动为您管理引用。
public abstract class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
}
}
我们试试看 !
关于wpf - 可移植类库中的ViewModel支持,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16340080/