Я довольно новичок в программировании на WPF и C#, большинство из моих предыдущих работ были в winforms и vb.net. Прежде чем я смогу задать свой вопрос, вот несколько примеров, чтобы объяснить, что я пытаюсь достичь. У меня довольно простое приложение, предназначенное для чтения книг, однако требуется несколько «представлений», для которых я использую страницы, размещенные в кадре в главном окне. Одна из моих «страниц» имеет дочерние настройки usercontrol, в основном, когда пользователь нажимает на параметр (например, чтобы показать или скрыть элемент или элемент, размещенный на родительской странице »(НЕ основной), или вызвать событие на «page». Я хотел бы знать, как этого добиться, я потратил дни на поиск решения этой проблемы. Некоторый пример кода и т. д. также будет полезной помощью.Вызвать событие на странице из отдельного usercontrol
ответ
Я рекомендую взглянуть на модель- Шаблон View-ViewModel (MVVM). Это шаблон, который отделяет вашу бизнес-логику от пользовательского интерфейса с промежуточным уровнем (ViewModel), который управляет состоянием вашего приложения и т. Д. Ваш интерфейс взаимодействует с механизмами ViewModel через DataBinding, которые довольно сложны. Вы найдете кучу информации по всем этим темам.
To poi nt вы в правильном направлении: у вас будет ViewModel, который содержит всю информацию о состоянии для вашего пользовательского интерфейса, например, какие элементы отображаются. Ваш UserControl привязан к ViewModel таким образом, что он, например, переключает флаг видимости элемента. «Страница» привязана к тому же свойству и соответственно устанавливает видимость элемента.
Мой совет: WPF - очень, очень сложная и очень, очень мощная система. Нет смысла использовать его без MVVM и соответствующей архитектуры программного обеспечения. Вы не узнаете WPF/MVVM через пару дней, возможно, даже недель. Вы должны начать с основных понятий, возможно, получить книгу и забыть о своих конкретных проблемах на некоторое время. Это того стоит. Если у вас нет времени для этого, придерживайтесь того, что вы знаете, это будет разочаровывать иначе ...
Удачи!
Спасибо, посмотрим, что, оцените обратную связь – user2244077
Проблема решена. Внедрили достойный шаблон MVVM, и приложение работает именно так, как я хочу! Благодаря вашей помощи – user2244077
- 1. Как вызвать событие usercontrol на странице aspx
- 2. Метод доступа на странице aspx из usercontrol
- 3. Как вызвать событие на странице из окна «Настройки»
- 4. TypeLoadException на навигации к странице из UserControl
- 5. ASP.NET Получить пользовательское событие UserControl на родительской странице VB
- 6. Public Пользовательское событие на UserControl
- 7. fileupload control на странице usercontrol
- 8. Функция вызова из UserControl на ASPX из UserControl на MasterPage
- 9. Можно вызвать подсказку Bootstrap из отдельного элит?
- 10. Обработать событие из UserControl внутри ListView
- 11. вызвать событие из другого элемента управления
- 12. Вызвать метод мутатор из отдельного класса
- 13. Как вызвать функцию из отдельного файла .cpp?
- 14. Как вызвать метод из отдельного пакета: Android
- 15. Можно ли вызвать метод события родителя из UpdatePanel в UserControl?
- 16. Событие Click в UserControl- WPF
- 17. Событие кнопки не работает Usercontrol
- 18. Переопределить событие OnBackKeyPress в UserControl
- 19. Dynamic-UserControl нажмите событие
- 20. Как вызвать css: событие hover на странице Load
- 21. Как вызвать событие загрузки окна на определенной странице
- 22. Как вызвать функцию javascript, когда событие происходит на странице?
- 23. UserControl нажмите событие медленно
- 24. Как добавить событие в UserControl на C#?
- 25. Доступ идентификатор из UserControl в ASPX странице
- 26. как я могу подписаться на событие usercontrol
- 27. TextBox textchange событие внутри usercontrol
- 28. Как управлять UserControl динамически на странице ....?
- 29. Вызов функции jquery на главной странице из отдельного файла .js.
- 30. ссылки кода из отдельного документа для работы на другой странице
Можете ли вы предоставить некоторые графики, чтобы объяснить, чего вы пытаетесь достичь, пожалуйста? – Constanta
Если я правильно понимаю, вы хотите, чтобы ваша «страница» обновлялась из того, что вы будете делать в своем контроле пользователя? – Lance
Да, именно это, страница должна быть обновлена из элемента управления дочернего пользователя. Поэтому, если в usercontrol установлен переключатель, чтобы контролировать видимость элемента на странице, то элемент страницы становится скрытым. – user2244077