最近我一直在尝试WPF。我当时正在构建一个小程序,但后来偶然发现了一个小问题。我试图从后面的代码中调用Window_Closing方法,它告诉我需要给它提供特定的参数,但是在试图从中调用它的方法中没有这些参数。
这是我的代码:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
// My Window Closing code
}
private void Application_Exit(object sender, RoutedEventArgs e)
{
// Here is where I am trying to call it, giving a empty parameter with it.
// But it doesn't seem to work.
Window_Closing(null, EventArgs.Empty)
}
我想要的
如果调用了某个特定按钮,我希望调用Window_Closing事件。
知道解决方案的人吗?
答案 0 :(得分:1)
在您的<form>
<input type="text" name="sample[]" value="value1" />
<input type="text" name="sample[]" value="value2" />
</form>
中,单击Designer
并打开其Button
。在此处选择“ property window
”-“闪电”,然后选择Events
事件以执行Click
方法。有一个下拉列表,您应该可以选择它。如果没有,请在此处输入您的方法名称,然后按“ Enter”键,让VS生成代码隐藏方法。
答案 1 :(得分:1)
如下所示在XAML文件(MainWindow.xaml)中添加“ Window_Closing”和“ Close_Click”。
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800" Closing="Window_Closing">
<Grid>
<Button x:Name="Close" Content="Close" Click="Close_Click" Width="100" Height="30"/>
</Grid>
然后在文件(MainWindow.xaml.cs)后面的代码中添加以下代码。在此,从按钮单击事件处理程序中调用窗口关闭命令,该按钮随后会关闭窗口,然后将自动调用“ Window_Closing”事件处理程序。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
}
private void Close_Click(object sender, RoutedEventArgs e)
{
Close();
}
}
答案 2 :(得分:0)
只需关闭窗口。然后将自动调用该事件,这就是开始的过程。
而且看起来,您尝试从Application_Exit调用它,它关闭所有窗口...所以....问题是什么?
只需在Window_Closing中放置一个断点,看看它会自动执行。如果没有,也许您应该将事件处理程序添加到所有Windows Window_Closing事件中。