Пишу на WPF. Вот мой код:
public void OpenTable(string TableName)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter($"SELECT * FROM [{ TableName }]", conn);
adapter.Fill(dt);
dataGrid.DataContext = dt.DefaultView;
int fh = 0;
foreach (var el in dataGrid.Columns)
{
StackPanel panel = new StackPanel { Orientation = Orientation.Horizontal, HorizontalAlignment = HorizontalAlignment.Center };
panel.Children.Add(new TextBlock { Text = el.Header.ToString() });
Button Filter = new Button { Width = 10, Height = 10, Margin = new Thickness(3, 3, 0, 0), VerticalAlignment = VerticalAlignment.Center, BorderBrush = null, Background = null };
//Filter.Click += Filter_Click;
Filter.Name = "a" + fh.ToString();
Filter.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri("Image/filter.png", UriKind.RelativeOrAbsolute)) };
panel.Children.Add(Filter);
el.Header = panel;
fh++;
//ISCheced.Add(new List<bool>());
}
dataGrid.Columns[0].Visibility = Visibility.Hidden;//ошибка: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
try
{
GridContent.Children.Add(dataGrid);
}
catch { }
}
}
Смотрела DataTable заполнен.
А DataGrid никак.
Мой DataGrid:
DataGrid dataGrid = new DataGrid {
Margin = new Thickness(0, 50, 2, 2),
VerticalAlignment = VerticalAlignment.Stretch,
HorizontalAlignment = HorizontalAlignment.Stretch
};

dataGrid.ItemsSource = dt;– aepot Oct 30 '20 at 10:31DataContextэто для привязокBinding, когда в xaml пишетеItemsSource="{Binding MyData}", тоBindingищетMyDataтам, куда указываетDataContext. За источник данных отвечает именноItemsSource. Примеров в сети немеряно: быть может этот пример решит вашу проблему? – aepot Oct 30 '20 at 10:38DataTable. – aepot Oct 30 '20 at 10:45ListBox/ListView/ItemsControlвам помогут. – aepot Oct 30 '20 at 11:04DataGridв C#, вам наверное надо его в коллекцию контролов окна или вGridдобавлять? Иначе как окно узнает, что вы там где-тоDataGridсоздали, верно? Но история это не простая, примерно вот так оно может работать. Я все же предпочитаю работать с данными и полезным кодом, а WPF сам для меня создает контролы, в нужных местах, в нужном количетсве, и сам их обновляет. – aepot Oct 30 '20 at 11:12