/// <summary>
 /// Logic for the <see cref="ExitRenameMode"/> command.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The execution arguments.</param>
 private void ExitRenameMode_Executed(object sender, ExecutedRoutedEventArgs e)
 {
     if (renameTarget != null && bool.TryParse(e.Parameter as string, out bool setName))
     {
         PART_RenameInputDialog.Visibility = Visibility.Collapsed;
         if (setName)
             BuildLibrary.SetBuildTemplateName(renameTarget.Index, PART_RenameTextInput.Text);
         PART_RenameTextInput.Clear();
         renameTarget = null;
     }
 }
 /// <summary>
 /// Logic for the <see cref="EnterRenameMode"/> command.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The execution arguments.</param>
 private void EnterRenameMode_Executed(object sender, ExecutedRoutedEventArgs e)
 {
     Debug.Assert(e.Parameter is BuildTemplateViewModel);
     BuildTemplateViewModel model = (BuildTemplateViewModel)e.Parameter;
     if (model.BuildTemplate != null)
     {
         PART_RenameInputDialog.Visibility = Visibility.Visible;
         PART_RenameTextInput.Text = model.Name;
         PART_RenameTextInput.Focus();
         PART_RenameTextInput.Select(0, model.Name.Length);
         renameTarget = model;
     }
 }