从单独的用户控件调用页中的事件
本文关键字:调用 事件 控件 单独 用户 | 更新日期: 2023-09-27 18:07:18
我对WPF和c#编程相当陌生,我以前的大部分工作都是在winforms和vb.net中进行的。在我提问之前,这里有一些背景来解释我正在努力实现的目标。我有一个相当简单的应用程序,用于阅读书籍,但是需要几个"视图",为此我使用主窗口内框架中的页面。我的一个"页面"有一个名为settings的子用户控件,基本上当用户点击一个设置(例如显示或隐藏父"页面"(不是主窗口)中的项目或元素)或调用"页面"上的事件时。我想知道如何做到这一点,我花了几天时间寻找这个问题的解决方案。一些示例代码等也将是有价值的帮助。
我建议看一看模型-视图-视图模型(MVVM)模式。它是一种将业务逻辑与UI分离的模式,使用中间层(ViewModel)来管理应用程序状态等。UI通过相当复杂的数据绑定机制与ViewModel通信。你会发现关于所有这些主题的大量信息。
为您指出正确的方向:您将拥有一个ViewModel,其中包含UI的所有状态信息,例如要显示的项。例如,您的UserControl以切换项的可见性标志的方式绑定到ViewModel。'page'被绑定到相同的属性,并相应地设置该项的可见性。
我的建议:WPF是一个非常非常复杂和非常非常强大的系统。如果没有MVVM和相应的软件架构,使用它就没有真正的意义。您不可能在几天,甚至几周内学会WPF/MVVM。你应该从基本概念开始,也许可以找本书,暂时忘掉具体的问题。不过,这是值得的。如果你没有时间做这些,坚持你所知道的,否则你会很沮丧。
玩得开心!