我在哪个文件中编写代码?有许多.xaml.cs文件

时间:2014-04-01 03:46:06

标签: c# wpf xaml

我试图绕过代码执行的地方,因为这是我想要实现的目标:

我有一个主窗口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方法,但我不知道在何处放置代码。

谢谢。

1 个答案:

答案 0 :(得分:8)

tutorial from MSDN解释了:

  

此文件[即* .xaml.cs文件]是一个代码隐藏文件,其中包含处理MainWindow.xaml中声明的事件的代码。此文件包含XAML中定义的窗口的部分类。

基本上,当从*.xaml文件中定义的GUI元素触发事件时(例如:页面加载,按钮单击等),此文件将处理该事件。

回答你的问题:

  1. 该怎么去?

    您的处理程序代码。它看起来与此类似:

    public void Button_Click(object sender, RoutedEventArgs e)
    {
        // Put what you want to do on button click here.
    }
    

    要创建这些处理程序,请双击要处理的项目(VS将选择默认处理程序)。或者,或者转到“属性”窗口中的“事件”(“事件”按钮是带有闪电的按钮)并双击您想要处理的任何事件。

  2. OpenThisWindow功能

    我会将其命名为OpenWindow。以下是您的函数应该是什么样的:

    public static void OpenWindow (Window windowToOpen)
    {
        windowToOpen.Show();
    }
    

    当你调用这个函数时,你将不得不使用这样的东西:

    OpenWindow(new WindowName());
    

    你可以把这个函数放在一个新类中( Ctrl + Shift + A =>类)并调用类似{ {1}}。将其设为静态类并向其添加ApplicationHelper.cs函数:

    OpenWindow