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