Добавление элементов в ListBox - PullRequest
       16

Добавление элементов в ListBox

0 голосов
/ 29 сентября 2011

У меня есть главное окно WPF, которое содержит панель инструментов с кнопками и вкладку, которая отображает страницу со списком. Страница размещена на фрейме, а фрейм установлен на выбранной мной вкладке.

Когда я нажимаю кнопку на панели инструментов, появляется новое окно с текстовым полем и кнопкой отправки. Когда я нажимаю кнопку отправки, я хочу вставить содержимое текстового поля в список в главном окне. Тем не менее, ничего не отображается в списке. Я попытался listbox.Items.Add (), но он все равно не будет отображаться.

public partial class AddNewCamper : Window
{
    public AddNewCamper()
    {
        InitializeComponent();
    }

    private void btnNewSubmit_Click(object sender, RoutedEventArgs e)
    {
        CampersPage c;

        // Converting string to int b/c thats what camper() takes in.
        int NewAge = Convert.ToInt16(txtNewAge.Text);
        int NewGrade = Convert.ToInt16(txtNewGrade.Text);

        // Create a new person
        Camper person = new Camper(NewAge, NewGrade, txtNewFirstName.Text);
        txtNewFirstName.Text = person.getName();

        // Trying to add the first name of the person to display on the listbox of another window.
        c.testListBox.Items.Add(txtNewFirstName.Text);
    }

1 Ответ

0 голосов
/ 29 сентября 2011

Вы можете использовать любой из следующих подходов. Но, исходя из ваших комментариев, я думаю, что решение 3 вас устраивает.

1) Попробуйте сначала инициализировать c. Вы не можете использовать объект без выделения памяти для него.

2) Если вы хотите использовать тот же объект, используйте ссылку на объект, созданный в MainWindow в обязательном классе. как то так должно работать:

CampersPage c = [ссылка на объект CampersPage в MainWindow]

затем добавьте элементы в список

3) Если вы хотите использовать объект списка, сделайте класс CampersPage статическим. Чтобы сделать его статичным, вам не нужно явно инициализировать свой класс.

public static CampersPage {
 // do something here
}

Убедитесь, что вы объявили свой список в CampersPage как общедоступный.

Затем в классе, требующем вашего списка, определенного в CampersPage, выполните следующее

CampersPage.testListBox.Items.Add(txtNewFirstName.Text);

4) Если классы находятся в одном и том же пространстве имен, вы можете объявить список как глобальное открытое свойство и получить к нему доступ из остальных классов в том же пространстве имен.

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