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