Мне нужно найти способ для объекта, который хранится в коллекции, чтобы иметь возможность использовать его в другом окне с целью отображения значений объекта в списке.
Мой код содержит следующее:
Класс для хранения значений объекта
public class Customer
{
private string _firstName;
public string firstName
{
get { return _firstName; }
set { _firstName = value; }
}
Главное окно с методами и кнопками для добавления, поиска, удаления и т. д. Объекта, который также содержит эту строку кода:
private void btnListAll_Click(object sender, RoutedEventArgs e)
{
listAll displayAll = new listAll();
displayAll.Show();
}
Это открывает новое окно (listAll), и я хочу иметь возможность использовать объект клиента в окне listAll
И, наконец, вот как выглядит мое окно listAll:
public partial class listAll : Window
{
public listAll()
{
InitializeComponent();
}
private void lstAll_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}
}
Обновлено:
Я нашел способ использовать объект клиента в новом окне. Мне просто нужно было добавить это:
using BusinessObjects;
но теперь я застрял в том, как заполнить мой listBox значениями из объекта клиента.
Можете ли вы создать объект, содержащий данные, и передать их конструктору вашего окна? т.е. когда вы звоните new listAll(dataObject)
Правильный способ - создать класс поставщика услуг, который будет хранить данные. Используйте MEF или Unity для его экспорта. Затем импортируйте его в любое окно в течение всего процесса.
Данные - ваш список - будут созданы и существовать один раз в классе поставщика услуг и будут совместно использоваться.
Вы можете получить доступ к главному окну в любом месте вашего приложения с помощью
System.Windows.Application.Current.MainWindow
, затем вы просто преобразуете его в класс вашего главного окна и получите доступ к свойству клиента.