Не проверяйте comboMenu.Text
, а comboMenu.SelectedItem
, который в вашем случае является ComboBoxItem:
var selectedItem = (ComboBoxItem)comboMenu.SelectedItem;
var selectedText = (string)selectedItem.Content;
Если вы установите
<ComboBox SelectedValuePath="Content" ...>
, вы также можете используйте свойство SelectedValue:
var selectedText = (string)comboMenu.SelectedValue;
С декларацией пространства имен XAML
xmlns:sys="clr-namespace:System;assembly=mscorlib"
вы также можете использовать элементы string
вместо ComboBoxItem
<ComboBox ...>
<sys:String>Meat soup</sys:String>
<sys:String>Vegetable soup</sys:String>
<sys:String>Chicken roll</sys:String>
</ComboBox>
где теперь вы получаете SelectedItem, который является строкой:
var selectedText = (string)comboMenu.SelectedItem;
Вы также можете использовать оператор switch
вместо нескольких операторов if
:
switch (selectedText)
{
case "Meat soup":
textPrice.Text = "2.5";
textDescription.Text = "Tasty and hearty soup with pieces of beaf and pork";
break;
case "Vegetable soup":
textPrice.Text = "1.5";
textDescription.Text = "Light and healthy soup with pieces of potato";
break;
case "Chicken roll":
textPrice.Text = "3.5";
textDescription.Text = "Fresh vegetables with pieces of chiken";
break;
}