如何创建不同的.cs文件

时间:2011-12-17 04:22:44

标签: c# wpf

在事件(例如Click)的WPF中是否有办法将方法放在不同的.cs文件而不是MainWindow.xaml.cs(例如)?换句话说,当我选择鼠标按下事件并双击它来编写方法时 - 该方法出现在MainWindow.xaml.cs ..有没有办法将其重定向到另一个文件?我需要访问我在MainWindow上使用的所有属性/字段(例如文本框,按钮等)......

在我的MainWindow.xaml中,我有处理gotFocuslostFocus等的方法。我不想在同一个文件中处理套接字和连接(我觉得这是糟糕的设计)。如果我错了,请纠正我。

3 个答案:

答案 0 :(得分:3)

如果您真的想,可以创建一个Partial Class  把你的事件处理程序放入。它仍然是MainWindow类的一部分,但它将在不同的文件中。

也就是说,更好的设计是将代码处理套接字和连接转移到自己的类或类中,同时将事件处理代码留在MainWindow.xaml.cs中。在这种情况下,部分类不是真正适合使用的工具,IMO。

答案 1 :(得分:2)

听起来你想要做的就是使用MVVM设计模式(WPF非常适合这个,BTW)。

here is a good article on MSDNhere is one by Josh Smith和谷歌将揭示更多

听起来你需要look into commanding

答案 2 :(得分:1)

如果您的想法是删除UI和Codebehind之间的依赖关系那么可能是最好的想法,因为您使用WPF是MVVM模式。因此,当您单击按钮等时,您的视图无需了解正在发生的事情。或者您可以考虑使用ICommand将命令与您的代码分开。完全像@ Mead'Dib推荐的那样。

您可以探索的另一个领域是考虑Command Pattern这样的东西,您可以将Receiver和调用者分开。这样你就不会紧跟后面的代码。因此,请考虑使用某种模式,以便在维护问题时使您安全。