Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
3 / 3 / 4
Регистрация: 16.09.2013
Сообщений: 350
1

Как обращаться к элементам в другом окне?

16.10.2021, 17:01. Показов 872. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, объясните, пожалуйста, как правильно обращаться к элементам в другом окне. Т.е. в тех же WinfForms все понятно, вызываем конструктор и вызываем окно
C#
1
2
LogForm log =new LogForm();
log.Show();
А в WPF такое не работает, но я додумался до гениального способа, а именно, прописать общую переменную в окне главного класса и вызывать ее когда надо:
C#
1
2
3
EditOC edit = new EditOC(); // это в главном окне
...
((MainWindow)Application.Current.MainWindow).edit.stateTextBox.Text="У меня стойкое ощущение, что я делаю бред";
Просто в сети я особых примеров не нашел.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2021, 17:01
Ответы с готовыми решениями:

как обращаться к элементам на главном окне???
Вопрос от чайника........ Я создал пустой прокт в QTCreator с MainWindow......Положил на форму...

Почему в одном background потоке можно обращаться к View-элементам а в другом нет?
Раньше я всегда думал, что в любом потоке, кроме UI, использовать или обращаться к View элементам...

Как обращаться к элементам окна ?
Помогите пожалуйста ! Создается окно JFrame. Как обращаться к элементам формы ??? Допустим открываю...

UpdatePanel. Как обращаться к элементам?
Добрый день. Слажилась такая ситуация: есть GridView. помимо этого на форме есть еще 2 текстбокса и...

5
Модератор
Эксперт .NET
15465 / 10711 / 2786
Регистрация: 21.04.2018
Сообщений: 31,531
Записей в блоге: 2
16.10.2021, 17:10 2
Цитата Сообщение от Stryder Посмотреть сообщение
росто в сети я особых примеров не нашел.
Даже для Форм ваш способ весьма корявый.
Да, он работает, но такое используется только в простых учебных корявых решениях, реализуемых без всяких паттернов.

В WPF построен на концепции самостоятельного получения UI элементами нужных им данных посредством привязок.
Поэтому в инете по большей части вы найдёте обсуждение вопросов только в рамках архитектуры MVVM.

Если вам "по барабану" до правильной реализации, и надо просто сделать и сдать работу, а потом забыть о WPF, то используйте, то что у вас работает.

Если интересно, то прочитайте темы по ссылке в подписи моего поста.
В том числе по вашему вопросу "Передача данных между Окнами, между VM, Шина Сообщений, Локатор".
0
3 / 3 / 4
Регистрация: 16.09.2013
Сообщений: 350
16.10.2021, 17:15  [ТС] 3
Я уже сдал работу, просто хочется делать все по уму, да и навыки свои улучшать. Спасибо, буду читать.
0
Модератор
Эксперт .NET
15465 / 10711 / 2786
Регистрация: 21.04.2018
Сообщений: 31,531
Записей в блоге: 2
16.10.2021, 17:42 4
Цитата Сообщение от Stryder Посмотреть сообщение
хочется делать все по уму
Тогда изучайте MVVM.
И забудьте про существование Code Behind Окна.
Лучше, вообще, никогда даже не открывайте файлы "*.xaml.cs".

Когда наберётесь опыта и знаний, возможно для каких-то специфических задача осознано будете использовать Code Behind.
Но в реале, такая задача попадётся не каждому программисту за всё время его работы.
0
3 / 3 / 4
Регистрация: 16.09.2013
Сообщений: 350
16.10.2021, 17:53  [ТС] 5
А как про него можно забыть? А если мне банально нужно данные в цикле обработать? XAML такое умеет?
0
Модератор
Эксперт .NET
15465 / 10711 / 2786
Регистрация: 21.04.2018
Сообщений: 31,531
Записей в блоге: 2
16.10.2021, 18:18 6
Цитата Сообщение от Stryder Посмотреть сообщение
А если мне банально нужно данные в цикле обработать? XAML такое умеет?
Данные нужно обрабатывать в Контексте Данных.
А View только Представляет данные.
Он их не обрабатывает, не хранит, не создаёт - только отображает.
0
16.10.2021, 18:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2021, 18:18
Помогаю со студенческими работами здесь

Как обращаться к элементам сайта, QA
Начинаю изучать тестирование. Возник вопрос: если нужно проверить авторизацию, то как это сделать?...

Как обращаться к определённым элементам Listbox
Вообщем передо мной стоит задача: Выдать названия всех пьес, которые поставлены в театре с заданным...

Как правильно обращаться к статическим элементам
class A { static public $li=9; public $re=800; } class B extends A{ public $foo=100;...

Как в процедуре обращаться к элементам формы?
Добрый день. Пишу программу, и что б не писать 1 и тоже кучу раз, решил создать процедуру, и если...

Как обращаться к элементам созданным программно
Как обратиться к элементу, который добавлен кодом ? ComboBox comboBox4 = new ComboBox(); ...

Как обращаться к элементам двумерного массива?
У меня та же ошибка в программе #include <conio.h> #include <stdio.h> #include <math.h> #define...

Как обращаться к элементам кортежа по индексу?
Можно было бы например делать такие штуки. int *P; short *O; char *I; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru