В чем разница между MainWindow.xaml.cs и App.xaml.cs? Может я ещё и не туда пишу код?
MainWindow - это про главное окно. App - это про приложение в целом.
Как из потока добавить строки в листбокс?
Из другого потока нельзя добавлять, тк к UI-элементам можно обращаться только из UI-потока.
Для нестатического поля, метода или свойства "MainWindow.ListBox1" требуется ссылка на объект.
Ну да, нельзя. Нужно передавать экземпляр окна.
Например так:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Поиск в потоке
Thread thread1 = new Thread(()=>InstalledPrograms.FindPrograms(this));
thread1.Start(); // Запуск потока.
}
}
static class InstalledPrograms
{
public static void FindPrograms(MainWindow mainWindow)
{
// Тут позже будет код поиска программ.
//Ошибка - Для нестатического поля, метода или свойства "MainWindow.ListBox1" требуется ссылка на объект.
mainWindow.ListBox1.Items.Add("Путь к программе");
}
}