WPF ComboxIF заявление - PullRequest
       5

WPF ComboxIF заявление

0 голосов
/ 16 октября 2018

У меня есть комбинированный список в окне WPF XAML.Я хочу иметь оператор IF в моем .cs, где я могу назначить ему метод, когда пользователь выбрал этот элемент.

Вот бит XAML:

<ComboBox x:Name="comboBoxThickness" HorizontalAlignment="Left" 
Margin="469,380,0,0" VerticalAlignment="Top" Width="155" IsEditable="True" 
MaxWidth="150" Text="Select Plate Thickness">
<ComboBoxItem x:Name="Combo8mm" Content="8mm" />
<ComboBoxItem x:Name="Combo12_5mm" Content="12.5mm" />
</ComboBox>

Здесьчасть .cs (с предпринятой попыткой):

    private void WeightCal()
    {
        if (Combo8mm.Selected){

        }
    }

1 Ответ

0 голосов
/ 16 октября 2018

Исходя из вашего вопроса, я добавил фрагмент кода, предполагая, что вы хотите что-то сделать с выбранным измененным событием в поле со списком.

Случай 1: -

Я немного изменил ваш xaml и кодовый код.

  1. Добавлен SelectedChangedсобытие в выпадающий список, как показано ниже.

    <ComboBox x:Name="comboBoxThickness" HorizontalAlignment="Left" VerticalAlignment="Top" Width="155" IsEditable="True" 
                       MaxWidth="150" Text="Select Plate Thickness" SelectionChanged="comboBoxThickness_SelectionChanged">
                <ComboBoxItem x:Name="Combo8mm" Content="8mm" />
               <ComboBoxItem x:Name="Combo12_5mm" Content="12.5mm" />
    </ComboBox>
    
  2. Затем в коде, расположенном в обработчике событий, вы можете проверить, какой элемент комбинированного списка выбран, как показано ниже:

    private void comboBoxThickness_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
           var selectedItem = comboBoxThickness.SelectedItem as ComboBoxItem;
           if(selectedItem.Content.ToString() == "8mm")
            {
                // Write your logic here
            }
    }
    
  3. Можно выполнить несколько условий if..else, чтобы проверить и выполнить необходимые действия в каждом условии if согласно вашим требованиям.

Примечание: - Несмотря на то, что выбранный вами подход не был рекомендован.Всегда полагайтесь на MVVM, который поможет вам в долгосрочной перспективе.

И в приведенном выше коде я просто пытаюсь сравнить содержимое выбранного элемента комбинированного списка со строкой.Предполагая, что это всегда строка в вашем случае.Вы должны проверить и протестировать код в своем проекте.

Случай 2: -

В случае, если вы хотите получить выбранный элемент каким-либо способом, вы можетеиспользуйте этот оператор ниже вместо того, чтобы проверять, выбран ли каждый элемент комбинированного списка или нет, который вы написали в своем коде.

   var selectedItem = comboBoxThickness.SelectedItem as ComboBoxItem;
   if(selectedItem.Content.ToString() == "8mm")
    {
        // Write your logic here
    }

Если есть что-то еще, что вы ищете, то дайте нам знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...