在事件(例如Click)的WPF
中是否有办法将方法放在不同的.cs
文件而不是MainWindow.xaml.cs
(例如)?换句话说,当我选择鼠标按下事件并双击它来编写方法时 - 该方法出现在MainWindow.xaml.cs ..有没有办法将其重定向到另一个文件?我需要访问我在MainWindow上使用的所有属性/字段(例如文本框,按钮等)......
在我的MainWindow.xaml
中,我有处理gotFocus
和lostFocus
等的方法。我不想在同一个文件中处理套接字和连接(我觉得这是糟糕的设计)。如果我错了,请纠正我。
答案 0 :(得分:3)
如果您真的想,可以创建一个Partial Class 把你的事件处理程序放入。它仍然是MainWindow类的一部分,但它将在不同的文件中。
也就是说,更好的设计是将代码处理套接字和连接转移到自己的类或类中,同时将事件处理代码留在MainWindow.xaml.cs中。在这种情况下,部分类不是真正适合使用的工具,IMO。
答案 1 :(得分:2)
听起来你想要做的就是使用MVVM设计模式(WPF非常适合这个,BTW)。
here is a good article on MSDN,here is one by Josh Smith和谷歌将揭示更多
听起来你需要look into commanding
答案 2 :(得分:1)
如果您的想法是删除UI和Codebehind之间的依赖关系那么可能是最好的想法,因为您使用WPF是MVVM模式。因此,当您单击按钮等时,您的视图无需了解正在发生的事情。或者您可以考虑使用ICommand将命令与您的代码分开。完全像@ Mead'Dib推荐的那样。
您可以探索的另一个领域是考虑Command Pattern这样的东西,您可以将Receiver和调用者分开。这样你就不会紧跟后面的代码。因此,请考虑使用某种模式,以便在维护问题时使您安全。