我试图绕过代码执行的地方,因为这是我想要实现的目标:
我有一个主窗口winMainWindow
,顶部有一个工具栏。工具栏File --> Add New Company
中的每个项目都将打开一个新窗口,理想情况下该窗口是自包含的,进行一些处理,然后关闭。
每次我向项目添加一个新窗口(右键单击solution --> Add --> Window
)时,它都会为新窗口创建一个.xaml
和.xaml.cs
文件。假设我创建了一个名为SettingsWindow
的新窗口:我了解如何使用SettingsWindow.xaml
文件,这是不言自明的。
但是,对于每个窗口创建的.xaml.cs
文件,应该在那里进行什么?我似乎无法弄清楚该代码何时会被执行 - 我还没能找到Main方法,所以必须有一个隐藏的原因。
在SettingsWindow
文件中使用SettingsWindow.xaml.cs
方法是有意义的,但如何让程序进入"切换"当.cs
被打开时,SettingsWindow
文件是什么?
最后,如果我想编写一个名为OpenThisWindow
的方法,我希望能够将其用于所有窗口,那么我将在哪里编写此方法?我认为它应该是public
方法,但我不知道在何处放置代码。
谢谢。
答案 0 :(得分:8)
这tutorial from MSDN解释了:
此文件[即* .xaml.cs文件]是一个代码隐藏文件,其中包含处理MainWindow.xaml中声明的事件的代码。此文件包含XAML中定义的窗口的部分类。
基本上,当从*.xaml
文件中定义的GUI元素触发事件时(例如:页面加载,按钮单击等),此文件将处理该事件。
回答你的问题:
该怎么去?
您的处理程序代码。它看起来与此类似:
public void Button_Click(object sender, RoutedEventArgs e)
{
// Put what you want to do on button click here.
}
要创建这些处理程序,请双击要处理的项目(VS将选择默认处理程序)。或者,或者转到“属性”窗口中的“事件”(“事件”按钮是带有闪电的按钮)并双击您想要处理的任何事件。
OpenThisWindow
功能
我会将其命名为OpenWindow
。以下是您的函数应该是什么样的:
public static void OpenWindow (Window windowToOpen)
{
windowToOpen.Show();
}
当你调用这个函数时,你将不得不使用这样的东西:
OpenWindow(new WindowName());
你可以把这个函数放在一个新类中( Ctrl + Shift + A =>类)并调用类似{ {1}}。将其设为静态类并向其添加ApplicationHelper.cs
函数:
OpenWindow