Передача данных из окна WPF в Главное окно
Привет,
У меня есть DataGrid в моем MainWindow.xaml, который имеет различные столбцы. У меня есть еще одно окно "AddFixtures.xaml", в котором есть загрузка текстовых полей, я хочу, чтобы данные из текстовых полей в этом окне переходили в строки в datagrid в MainWindow.xaml.
Что я уже пробовал:
У меня есть класс для Fixture в коде позади 'AddFixture.xaml:
public class Fixture { public int fixtureID { get; set; } public int channelID { get; set; } public string fixtureName { get; set; } public string position { get; set; } public string patch { get; set; } public string mode { get; set; } public string power { get; set; } public string direction { get; set; } }
а затем я получаю все данные из различных текстовых полей, когда нажимаю кнопку "ОК":
private void BtnAddFixture_Click(object sender, RoutedEventArgs e) { var data = new Fixture { fixtureID = Int32.Parse(txtFixtureID.Text), channelID = Int32.Parse(txtChannel.Text), fixtureName = cbxFixture.Text, position = cbxPosition.Text, patch = cbxUniverse.Text + "." + txtChannel.Text, mode = cbxMode.Text, power = cbxSocca.Text + "." + cbxWay.Text, direction = "Forwards" }; }
Поэтому мне буквально просто нужно получить var 'data' в мое 'MainWindow', чтобы добавить строки.
Я привязал класс к своим столбцам datagrid следующим образом:
<DataGrid x:Name="FixtureView" AutoGenerateColumns="True" Grid.Column="1"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding fixtureID}" Header="Fixture ID" Width="*"/> <DataGridTextColumn Binding="{Binding channelID}" Header="Channel ID" Width="*"/> <DataGridTextColumn Binding="{Binding fixtureName}" Header="Name" Width="3.5*"/> <DataGridTextColumn Binding="{Binding position}" Header="Position" Width="2*"/> <DataGridTextColumn Binding="{Binding patch}" Header="Patch" Width="*"/> <DataGridTextColumn Binding="{Binding mode}" Header="Mode" Width="1.5*"/> <DataGridTextColumn Binding="{Binding power}" Header="Power" Width="*"/> <DataGridTextColumn Binding="{Binding direction}" Header="Orientation" Width="2*"/> </DataGrid.Columns> </DataGrid>
Было бы очень здорово, если бы кто-нибудь мог сказать мне, что мне нужно делать, я искал уже несколько часов!