0

У меня есть программа которая открывает файлы разных форматов, идея была в том чтобы отображать в новом окне ранее открытые файлы. Эти файлы хранятся у меня в json файле. В новом окне у меня есть ListBox и он отображает название этих файлов друг за другом. Файл это объект класса, у него есть поля Название и Путь.

Я хочу чтобы при нажатии на элемент ListItem файл открывался в предыдущем (MainWindow) окне, как это реализовать программно?

Какие средства лучше использовать?

public partial class TempPage : Window
{
    public TempPage()
    {
        InitializeComponent();
    }
private void templist(object sender, RoutedEventArgs e)
{
    FileJs fileJs = new FileJs();
    fileJs.ReadFile();
    for (int i = 0; i < fileJs.books.Count; i++)
    {
        listbook.Items.Add(fileJs.books[i].Name);

    }
}}

Это новое окно в котором выводятся ранее добавленные файлы FileJs - это класс в котором реализована запись и чтение json файла

internal class Book
{
    public string Name { get; set; }
    public string filePath { get; set; }
public Book(string name, string filePath)
{
    Name = name;
    this.filePath = filePath;
}

}

Это класс файла.

У меня есть алгоритм открытия нужных мне файлов в MainWindow, они открываются нормально через диалоговое окно, но как мне реализовать открытие через нажатие во втором окне, у меня есть доступ к пути файла.

ksa
  • 6,872
  • 1
    Какие средства лучше использовать? - вам по уму или костыли? Если костыли, то просто подпишитесь на событие SelectionChanged и делайте все, что вашей душе угодно. Если по уму, используйте привязки, с ними вам достаточно просто в свойстве, в его set указать нужное. А еще умнее, использовать генерацию кода, где вам просто надо будет сделать свойство и метод с нужными названиями. P.S. Не бросайте старые вопросы, SO это не форум, а сайт, где сообщество совместными силами собирает интересное и полезное не только вам, но и будущим читателям. Лучше удалите вопрос, если он неактуален. – EvgeniyZ Dec 27 '22 at 00:33
  • https://ru.stackoverflow.com/a/1277233/373567 – aepot Dec 27 '22 at 02:09

0 Answers0