public class ObservableObject : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged = delegate { }; protected virtual void RaisePropertyChangedEvent([CallerMemberName] string propertyName = null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } protected virtual void SetProperty<T>(ref T member, T val, [CallerMemberName] string propertyName = null) { if (object.Equals(member, val)) return; member = val; PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }
public class ViewModelBase : ObservableObject { public virtual bool IsInDesignMode() { #if WINDOWS_PHONE_APP if (DesignerProperties.IsInDesignTool) { return true; } else { return false; } #else if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject())) { return true; } else { return false; } #endif } }