我是c#的新手,我刚创建了一个新页面,想要在xaml方面关闭它:
<Grid>
<Button Content="Back" Click="Button_Click_Exit" HorizontalAlignment="Left" Margin="220,263,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>
并在.xaml.cs方面:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace UI
{
/// <summary>
/// Interaction logic for calibrationPage.xaml
/// </summary>
public partial class calibrationPage : Page
{
public calibrationPage()
{
InitializeComponent();
}
private void Button_Click_Exit(object sender, RoutedEventArgs e)
{
Close();
}
}
}
我认为这应该是非常简单的,当我尝试构建它时,不知何故我得到了这个错误:
error CS1061: 'UI.calibrationPage' does not contain a definition for 'Close' and no extension method 'Close' accepting a first argument of type 'UI.calibrationPage' could be found
编辑:我知道close()不会退出,然后重新解释我的问题,如何只需点击按钮关闭页面?
EDIT2:为了别人的利益:我最终使用了
PageNavigator.NavigateTo
函数在页面之间来回导航,我不认为在wpf
中有关闭一个页面的概念。感谢大家的参与。
答案 0 :(得分:1)
你没有告诉对象关闭。
如果您只是想要一个按钮来操作该活动,我建议&#34;点击&#34;事件或&#34; OnClick&#34;。如果您在VS中,只需双击设计器中的按钮,它就会自动为您填充所有内容。
如果要关闭表单,可以使用WPF窗口中的类似方法。
RewriteEngine On
RewriteRule ^blog/(.*)$ http://www.new-blogdomain.com/$1 [R=301,L]
另一方面,如果你想创建自己的方法(就像在这种情况下)你可以这样做:
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
然后你用:
来称呼它 private void closeMethod()
{
// your code here
}
根据您的方法,您可以告诉它在页面上执行您想要的操作。如关闭页面或窗口。
您还可以在方法中传递引用
请参阅https://msdn.microsoft.com/en-us/library/ms173114.aspx了解方法。
不确定它是否适合此处,但您可能希望在某些情况下使用closeMethod();
,如果是这样,请参阅https://social.msdn.microsoft.com/Forums/windows/en-US/f23247b8-e0ca-46eb-afb0-dbf22d4c84ac/thisclose-vs-applicationexit?forum=winforms以找出差异。