0

Всем привет. Реализую проект на WPF с использованием Entity Framework. На одном из окон было решено сделать вывод сразу нескольких таблиц. Было предложено сделать это через TabControl и его вкладки. Прикладываю код реализации:

 private void Table_Update()
 {
 if (Tables.SelectedItem == usersTab)
 {
 context.Users.Load();
 UsersGrid.ItemsSource = context.Users.Local;
 }
 else if (Tables.SelectedItem == goodsTab)
 {
 Debug.WriteLine("Пук");
 context.Goods.Load();
 GoodsGrid.ItemsSource = context.Goods.Local;
 }
 else if (Tables.SelectedItem == creatorsTab)
 {
 context.Creators.Load();
 CreatorsGrid.ItemsSource = context.Creators.Local;
 }
 }
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
 Table_Update();
 }

Проблема заключается в том, что загружается только таблица Users, остальные, как бы я не нажимал, подгружаться не хотят. С чем может быть связана проблема и как её решить?

задан 28 мая 2023 в 17:21
2
  • 1
    Внимательно посмотрите на свою логику, что видите? Просто пропишите ее словами. Вот я вижу: При полной загрузке окна вызвать метод Table_Update(). В самом методе смотрим на SelectedItem и на его основе делаем действия. Ключевое тут "При полной загрузке окна". Вы окно повторно открываете? Думаю нет. Почему тогда думаете, что это событие должно вызваться (а с ним вместе и ваш метод) при переключении вкладок? Хотите переключения вкладок, смотрите события самого TabControl, например... SelectionChanged. Ну а вообще, WPF это привязки, и все в этом духе, зря вы так вот в коде контролы дергаете Commented 28 мая 2023 в 17:49
  • Спасибо, помогло! Commented 28 мая 2023 в 18:04

0

Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

Ваш ответ

Черновик сохранён
Черновик удалён

Зарегистрируйтесь или войдите

Регистрация через Google
Регистрация через почту

Отправить без регистрации

Необходима, но никому не показывается

Отправить без регистрации

Необходима, но никому не показывается

Нажимая «Отправить ответ», вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.

Начните задавать вопросы и получать на них ответы

Найдите ответ на свой вопрос, задав его.

Задать вопрос

Изучите связанные вопросы

Посмотрите похожие вопросы с этими метками.