0

Я получаю из окна ввода список данных(email:password), далее эти данные должны идти в другое, основное окно приложения в виде списка ListBox. Это код XAML основного окна:

<ListBox Name="listBoxAccountList" 
                     HorizontalContentAlignment="Stretch"
                 Grid.Row="2">
            <ListBox.ItemTemplate>
            <DataTemplate>
                    <Grid Margin="0,2">
                        <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="20"></ColumnDefinition>
                        <ColumnDefinition Width="100*"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <TextBlock Text="{Binding ID}" />
                    <TextBlock Grid.Column="1" Text="{Binding Mail}" />
                </Grid>
            </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

введите сюда описание изображения

Это код C# окна ввода:

public partial class NewAccount : Window
    {
        class Acc
        {
            public int ID { get; set; }
            public string Mail { get; set; }
        }
        class DataUser
        {
            public string Email { get; set; }
            public string Password { get; set; }
        }
        public NewAccount()
        {
            InitializeComponent();
        }
        private void SaveCreatedAccount(object sender, RoutedEventArgs e)
        {
            MainWindow mainWindow = new MainWindow();
            var AccountList = new Dictionary<int, DataUser>();
            int i = 1;
        string[] s = textBoxAccount.Text.Split(new String[] { &quot;\r\n&quot; }, StringSplitOptions.RemoveEmptyEntries);
        List&lt;Acc&gt; items = new List&lt;Acc&gt;();
        foreach (string line in s)
        {
            string[] mp = line.Split(':');
            AccountList.Add(i, new DataUser { Email = mp[0], Password = mp[1] });
            Array.Clear(mp, 0, 2);
            i++;
        }
        foreach(var IdMail in AccountList)
        {
            items.Add(new Acc { ID = IdMail.Key, Mail = IdMail.Value.Email });
        }
        mainWindow.listBoxAccountList.ItemsSource = items;
    }
}

введите сюда описание изображения

Это код C# основного окна:

 public partial class MainWindow : Window { 
        public MainWindow()
        {
            InitializeComponent();
        }
        private void AddNewAccount(object sender, RoutedEventArgs e)
        {
            NewAccount NewAccountWindow = new NewAccount();
            NewAccountWindow.Show();
        }
    }

Не понимаю, что я сделал не так. 2 окна - это 2 разных xaml файла. Мне кажется, что {Binding ID} не видит класс, в который подаются данные. Это все должно выглядеть как-то так:

введите сюда описание изображения

Также мне необходимо добавить кнопки справа, как на фотографии выше. При нажатие на кнопку должен открываться браузер(как открывать браузер я знаю. Проблема состоит только в кнопке), и туда должны филиться данные(email:pas) из строчки, откуда была нажата кнопка.

Костя
  • 11
  • 3

0 Answers0