Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建不同的.cs文件_C#_Wpf - Fatal编程技术网

C# 如何创建不同的.cs文件

C# 如何创建不同的.cs文件,c#,wpf,C#,Wpf,在WPF中是否有一种方法可以使事件(如单击)在不同的.cs文件中而不是在main window.xaml.cs中使用该方法(例如)?换句话说,当我选择鼠标按下事件并双击它来编写方法时,该方法出现在MainWindow.xaml.cs中。。有没有办法将此重定向到另一个文件?我需要访问主窗口上我使用的所有属性/字段(如文本框、按钮等) 在我的MainWindow.xaml中,我有处理gotFocus和lostFocus等的方法。我不想在同一个文件中处理套接字和连接(因为我觉得这是一个糟糕的设计)。如

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


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

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


也就是说,更好的设计是将处理套接字和连接的代码移出到自己的类中,而将事件处理代码留在MainWindow.xaml.cs中。在这种情况下,分部类并不是正确的工具,依我看。

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


也就是说,更好的设计是将处理套接字和连接的代码移出到自己的类中,而将事件处理代码留在MainWindow.xaml.cs中。我认为,在这种情况下,分部类并不是正确的工具。

听起来您想要做的是使用MVVM设计模式(顺便说一句,WPF非常适合于此)

谷歌将揭示更多信息


听起来你也需要使用MVVM设计模式(顺便说一句,WPF非常适合这种模式)

谷歌将揭示更多信息


如果您的想法是删除UI和Codebehind之间的依赖关系,那么可能是最好的主意,因为您使用的是WPF is MVVM模式。因此,您可以让视图不必知道在单击按钮等时发生了什么。否则,您可以考虑ICommand事件,将命令与代码分离。就像@Mead'Dib推荐的那样


您可以探索的另一个领域是考虑类似于命令模式的东西,您可以在其中分离接收方和调用方。这样您就不会与后面的代码紧密耦合。所以,只要考虑使用某种模式,当维护出现问题时,它会使您更加安全

如果您的想法是删除UI和Codebehind之间的依赖关系,那么可能是最好的主意,因为您使用的是WPF is MVVM模式。因此,您可以让视图不必知道在单击按钮等时发生了什么。否则,您可以考虑ICommand事件,将命令与代码分离。就像@Mead'Dib推荐的那样


您可以探索的另一个领域是考虑类似于命令模式的东西,您可以在其中分离接收方和调用方。这样您就不会与后面的代码紧密耦合。所以,只要考虑使用某种模式,当维护出现问题时,它会使您更加安全

是的,这正是我想要做的-但是如果我想添加一个事件。。。当我选择“MouseDown事件”来编写它的方法时,说“somethingClick”,它不会被定向到MainWindow.xaml.cs文件吗?我如何将其重新定向到我自己的类中?是的,默认情况下somethingClick方法将放在MainWindow.xaml.cs中,但您所要做的就是从那里将其剪切并粘贴到部分类文件中。要创建分部类文件,只需在新文件中添加一个新类,并将其称为“分部类主窗口”是的,这正是我想要做的-但是如果我想添加一个事件。。。当我选择“MouseDown事件”来编写它的方法时,说“somethingClick”,它不会被定向到MainWindow.xaml.cs文件吗?我如何将其重新定向到我自己的类中?是的,默认情况下somethingClick方法将放在MainWindow.xaml.cs中,但您所要做的就是从那里将其剪切并粘贴到部分类文件中。要创建分部类文件,只需在新文件中添加一个新类,并将其称为“分部类主窗口”