<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 -- } }
沒有留言:
張貼留言