В моем проекте (WPF) есть форма (в которой объявляется объект), которая включает в себя рамку, которая показывает разные страницы в зависимости от нажатой кнопки.
На странице я перетаскиваю файл и получаю путь. Как я могу вернуть путь к главной форме, чтобы я мог «отправить» его к объекту? (Которые затем будут использоваться другими функциями в форме)
(Частичный) код основной формы
CSV csv = new CSV();
public MainWindow()
{
InitializeComponent();
Main.Content = new LoadCSVPage();
}
public MainWindow(string path)
{
InitializeComponent();
csv.SetLocation(path);
}
Код страницы загрузки CSV
public LoadCSVPage()
{
InitializeComponent();
}
private void LoadCSV_DragEnter(object sender, DragEventArgs e)
{
string filePath = "";
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in files)
{
filePath = file;
}
MainWindow main = new MainWindow(filePath);
main.Show();
}
Я понял, чего не хватало! После передачи переменной в главный конструктор я не отображал ее (через main.show).
Теперь, когда я вставил его, меня это мало что убеждает. Есть ли более чистый способ сделать это?
О нет, есть проблема. С main.show создается дополнительное окно!