private void Parent_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (string.IsNullOrEmpty(e.PropertyName) || e.PropertyName == nameof(SelectedStyle)) { if (selectedStyle != null) { selectedStyle.PropertyChanged -= SelectedStyle_PropertyChanged; } selectedStyle = parent.SelectedStyle; if (selectedStyle != null) { selectedStyle.PropertyChanged += SelectedStyle_PropertyChanged; selectedIndex = parent.Styles.IndexOf(selectedStyle); RaisePropertyChanged(""); } newName = null; Delete.RaiseCanExecuteChanged(); Rename.RaiseCanExecuteChanged(); } }