2013-04-04 109 views
1

我对WPF和C#编程相当陌生,以前的大部分工作都是在winforms和vb.net中完成的。在我能问我的问题之前,这里有一些背景来解释我正在努力实现的目标。我有一个相当简单的应用程序,旨在阅读书籍,但有几个“视图”需要使用,我正在使用主窗口内的框架中托管的页面。我的一个“页面”有一个叫做settings的子控件,基本上当用户点击一个设置时(例如显示或隐藏父“页面”中的项目或元素(不是主窗口)或者调用事件“页”我想知道如何做到这一点,我花了好几天的时间寻找解决这个问题的方法,一些示例代码等也是有价值的帮助从单独的用户控件调用页面中的事件

+0

你能提供一些图形来解释你想要达到什么吗? – Constanta 2013-04-04 11:02:49

+0

如果我理解正确,你希望你的“页面”从你的孩子用户控件中做什么更新? – Lance 2013-04-04 11:16:39

+0

是的,确切地说,必须从子用户控件更新页面。因此,如果在用户控件上设置切换以控制页面上项目的可见性,则该页面项目被设置为隐藏。 – user2244077 2013-04-05 05:50:15

回答

0

我推荐看看Model- View-ViewModel(MVVM)模式这是一种通过用于管理应用程序状态的中间层(ViewModel)来分离业务逻辑的模式。您的UI通过DataBinding机制与ViewModel进行通信,这些机制非常复杂。你会发现所有这些主题的信息堆。

要poi nt你在正确的方向:你将有一个ViewModel,它保存你的用户界面的所有状态信息,比如显示什么项目。例如,您的UserControl以某种方式绑定到ViewModel,以切换项目的可见性标志。 '页面'绑定到相同的属性,并相应地设置项目的可见性。

我的建议:WPF是一个非常非常复杂且非常强大的系统。没有MVVM和相应的软件架构,没有真正的意义。你在几天内不学习WPF/MVVM,可能连几周都没有。你应该从基本概念开始,也许会写一本书,并忘记你的具体问题一段时间。尽管如此,这是值得的。如果你没有这样做的时候,坚持你所知道的,这将是令人沮丧的,否则......

玩得开心!

+0

谢谢,将调查,赞赏反馈 – user2244077 2013-04-05 05:48:31

+0

问题解决。已经实现了一个体面的MVVM模式,应用程序正在以我想要的方式运行!感谢您的帮助 – user2244077 2013-09-03 14:18:26

相关问题