/// <summary> /// Handles the PropertyChanging event of the DataContext control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="PropertyChangingEventArgs"/> instance containing the event data.</param> private void DataContext_PropertyChanging(object sender, PropertyChangingEventArgs e) { switch (e.PropertyName) { case nameof(IStageNewVm.Title): case nameof(IStageNewVm.WorkspacePath): case nameof(IStageNewVm.InvalidPathReason): TipError.Hide(TextProjectPath); break; } }
/// <summary> /// Handles the PropertyChanged event of the DataContext control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="PropertyChangedEventArgs"/> instance containing the event data.</param> private void DataContext_PropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case nameof(IStageNewVm.AvailableDriveSpace): LabelDriveSpace.Text = $"{DataContext.AvailableDriveSpace.FormatMemory()} ({DataContext.AvailableDriveSpace:###,##0} bytes)"; break; case nameof(IStageNewVm.Title): LabelProjectTitle.Text = DataContext.Title ?? string.Empty; break; case nameof(IStageNewVm.WorkspacePath): TextProjectPath.Text = DataContext.WorkspacePath?.FullName ?? string.Empty; break; case nameof(IStageNewVm.InvalidPathReason): ResetTextBoxColor(DataContext); TipError.Show(DataContext.InvalidPathReason, TextProjectPath, new Point(0, TextProjectPath.Bottom)); break; } ValidateControls(); }