using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Linq;
|
using System.Linq.Expressions;
|
|
namespace RichCreator.ViewModels
|
{
|
public class NotificationObject : INotifyPropertyChanged
|
{
|
protected void RaisePropertyChanged<T>(Expression<Func<T>> action)
|
{
|
var propertyName = GetPropertyName(action);
|
RaisePropertyChanged(propertyName);
|
}
|
|
private static string GetPropertyName<T>(Expression<Func<T>> action)
|
{
|
var expression = (MemberExpression)action.Body;
|
var propertyName = expression.Member.Name;
|
return propertyName;
|
}
|
|
protected void RaisePropertyChanged(string propertyName)
|
{
|
if (PropertyChanged != null)
|
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
}
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
}
|
}
|