【发布时间】:2021-06-21 04:47:26
【问题描述】:
我有一个问题,我想将 XAML 中的事件直接添加到另一个类。 使用的标准类是 MainWindow。
在我的情况下,我想定义事件应该使用哪个类。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Closing_Event(object sender, System.ComponentModel.CancelEventArgs e)
{
}
}
public class differentClass
{
public differentClass()
{
}
private void Window_Closing_Event(object sender, System.ComponentModel.CancelEventArgs e)
{
}
}
也许有人可以帮助我,我如何在没有 MainWindow 中的任何代码的情况下使用第二类中的事件。
【问题讨论】:
-
最通用的解决方案可能是这个类似问题的最佳答案:stackoverflow.com/questions/7877532/… 但实际上它完全取决于您实际想要做什么以及为什么要避免代码隐藏代码。最简单的方法通常是咬紧牙关,在构造函数中处理事件路由。
-
我的目标是在事件和视图之间进行切割,所以我想从项目内不同文件夹中的另一个类调用事件(事件)。需要有一个干净的 MainWindow.xaml.cs 没有任何事件。我的主要问题是如何以这种方式编写 xaml 代码,我可以从 differentClass 类调用事件,或者更好的情况是事件将在 differentClass 类中自动创建。感谢您的帮助
-
你为什么想要这样一个目标?如果您在 XAML 设计器中附加事件处理程序,则处理程序方法将不可避免地在视图的类后面的代码中生成。这正是设计师的工作方式。然而,生成的处理程序方法可以委托给您喜欢的任何类或对象,因此不会包含超过一行代码。
-
我希望在类中实现每个事件,其中包含事件的功能(方法)。例如,我希望将 login_button 的事件与登录本身放在同一个子文件夹中。
标签: c# wpf class events handler