public void OnPropertyChanged([System.Runtime.CompilerServices.CallerMemberName]string name = null)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null && !string.IsNullOrWhiteSpace(name))
handler(this, new PropertyChangedEventArgs(name));
}