I have a C# WPF app that every time the user opens a new file, the contents are displayed in a datagrid.
public partial class MainWindow : Window
{
public TabControl tc = new TabControl();
public MainWindow()
{
InitializeComponents();
}
private FromFile_click(object sender, RoutedEventArgs e)
{
//gets information from file and then...
if (numberOfFiles == 0)
{
masterGrid.Children.Add(tc);
}
TabItem ti = new TabItem();
tc.Items.Add(ti);
DataGrid dg = new DataGrid();
ti.Content = dg;
dg.Name = "Grid"+ ++numberOfFiles;
dg.ItemSource = data;
}
private otherMethod(object sender, RoutedEventArgs e)
{
}
}
My question is, how do I use the data in dg in the method “otherMethod”? Also, is it possible to change the parent of dg from the method “otherMethod”?
Assuming you’re not calling
otherMethodwithinFromFile_Click, you need to make it an instance variable – like yourTabControlis, except hopefully not public. I’m assumingotherMethodis actually meant to handle an event of some kind, rather than being called directly.Now this is assuming that you want one
DataGridper instance ofMainWindow, associated with that window. If that’s not the case, you’d need to provide more information.