Как заполнить ComboBox из класса (ссылка на объект)?

Visual Studio, XAML.

Разметка и код окна (ошибок нет, всё вызывается).

Window.xaml
<Window x:Class="MyProgramm.MyWindow" Loaded="MyWindow_Loaded"
<ComboBox Name="CategoryComboBox" SelectionChanged="CategoryComboBoxChange"


Window.cs
private void MyWindow_Loaded(object sender, RoutedEventArgs e)
{
 FillCategoryComboBox.Fill(); //Вызывается, но не добавляет пункт
 categoryComboBox.Items.Add("Пункт 1"); //Добавляет пункт
 }


//Папка с классами
classes/FillCategoryComboBox.cs
class FillCategoryComboBox
{

public static void Fill()
 {
ComboBox categoryComboBox = new ComboBox();
categoryComboBox.Items.Add("Пункт 2"); //Не добавляет пункт. 
MessageBox.Show("Класс вызван");  //Выводит сообщение, т.е. класс вызывается.
}
}


Видимо я что то не понимаю в ссылках и типе данных. Обычно ссылаются так
MyWindow myWindow = new MyWindow();
и это работает. Окно будет создано.

Но
ComboBox categoryComboBox = new ComboBox();
похоже что нет. Или создает другой комбобокс, а не ссылку на CategoryComboBox.

Как заполнить ComboBox из класса?
  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
hePPer
@hePPer
нужно поправить код
class FillCategoryComboBox
{

public static void Fill(ComboBox combo)
 {
combo.Items.Add("Пункт 2"); //Не добавляет пункт. 
MessageBox.Show("Класс вызван");  //Выводит сообщение, т.е. класс вызывается.
}
}


и вызывать так
FillCategoryComboBox.Fill(categoryComboBox);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы