Beispiel #1
0
        /// <summary>
        ///     Create a binding between the INotifyPropertyChanged and optional IHaveDisplayName objects.
        /// </summary>
        /// <param name="notifyPropertyChanged">INotifyPropertyChanged</param>
        /// <param name="haveDisplayName">optional IHaveDisplayName for the first binding</param>
        /// <param name="propertyName">optional property name for the first binding</param>
        /// <returns>NameBinding</returns>
        public static DisplayNameBinding CreateDisplayNameBinding(this INotifyPropertyChanged notifyPropertyChanged, IHaveDisplayName haveDisplayName = null, string propertyName = null)
        {
            var propertyChangedObservable = notifyPropertyChanged.OnPropertyChangedPattern();
            var nameBinding = new DisplayNameBinding(propertyChangedObservable, notifyPropertyChanged);

            if (haveDisplayName != null)
            {
                nameBinding.AddDisplayNameBinding(haveDisplayName, propertyName);
            }
            return(nameBinding);
        }