<Window.DataContext>
<local:Preview_model />
</Window.DataContext>
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace UDP_Client { public abstract class ViewModelBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged;
//SetValue(ref _labels, value);
public void SetValue<T>(ref T property, T value, [CallerMemberName] string propertyName = null)
{
if (property != null)
{
if (property.Equals(value))
{
return;
}
}
property = value;
OnPropertyChanged(propertyName);
}
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
#region -- Debugging Aides --
//protected virtual bool ThrowOnInvalidPropertyName { get; private set; }
//[Conditional("DEBUG")]
//[DebuggerStepThrough]
//public void VerifyPropertyName(string propertyName)
//{
// // Verify that the property name matches a real, public, instance property on this object.
// if (TypeDescriptor.GetProperties(this)[propertyName] == null)
// {
// string msg = "Invalid property name: " + propertyName;
// if (this.ThrowOnInvalidPropertyName)
// throw new Exception(msg);
// else
// Debug.Fail(msg);
// }
//}
#endregion -- Debugging Aides --
}
}
沒有留言:
張貼留言