private void HelmDeployment_Selected(object sender, RoutedEventArgs e)
        {
            KubernetesViewModel kbModel = (KubernetesViewModel)DataContext;

            if (kubeclustertree.SelectedItem is HelmRelease)
            {
                kbModel.SelectedHelmDeployment = (HelmRelease)kubeclustertree.SelectedItem;
            }
        }
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // ... Get the ComboBox.
            var          comboBox          = sender as ComboBox;
            ObjectMetaV1 selectedNameSpace = comboBox.SelectedItem as ObjectMetaV1;

            if (selectedNameSpace != null)
            {
                KubernetesViewModel kbModel = (KubernetesViewModel)DataContext;
                kbModel.SelectedNameSpace = selectedNameSpace;
                kbModel.LoadItems(selectedNameSpace.Name);
            }
        }
        private void DeleteDeployment(object sender, RoutedEventArgs e)
        {
            MenuItem item = sender as MenuItem;

            if (item != null)
            {
                KubernetesViewModel kbModel = (KubernetesViewModel)DataContext;
                if (MessageBox.Show($"Remove Helm Release {kbModel.SelectedHelmDeployment.Name}?", "Remove Helm Chart", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {
                    kbModel.DeleteHelmDeployment(kbModel.SelectedHelmDeployment.Name);
                }
                e.Handled = true;
            }
        }
        private void ScaleDeployment(object sender, RoutedEventArgs e)
        {
            MenuItem item = sender as MenuItem;

            if (item != null)
            {
                KubernetesViewModel kbModel = (KubernetesViewModel)DataContext;
                var dialog = new DeploymentDialog(kbModel.SelectedKubernetesDeployment);

                if (dialog.ShowDialog() == true)
                {
                    kbModel.ScaleDeployment(kbModel.SelectedKubernetesDeployment.Metadata.Name, dialog.NumberOfReplicas);
                }

                e.Handled = true;
            }
        }
        private void ComboBox_Loaded(object sender, RoutedEventArgs e)
        {
            KubernetesViewModel kbModel = (KubernetesViewModel)DataContext;
            var namespaces = kbModel.GetNameSpaces();

            List <ObjectMetaV1> data = new List <ObjectMetaV1>();

            foreach (var @namespace in namespaces)
            {
                data.Add(@namespace.Metadata);
            }

            // ... Get the ComboBox reference.
            var comboBox = sender as ComboBox;

            comboBox.DisplayMemberPath = "Name";
            // ... Assign the ItemsSource to the List.
            comboBox.ItemsSource = data;

            // ... Make the first item selected.
            comboBox.SelectedIndex = 0;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="KubernetesClusterControl"/> class.
 /// </summary>
 public KubernetesClusterControl()
 {
     this.InitializeComponent();
     DataContext = new KubernetesViewModel();
 }