我正在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/

10-13 07:52