从帧内关闭wpf窗口
我正在将Winform项目移植到WPF,并开始使用Windows和Pages(使用框架控件)。基本上,我的意图是从一个页面导航到下一个页面,直到用户成功登录。现在,由于登录是在页面级别处理的。。。我的问题是: 页面如何关闭父窗口强> 如果您知道vb中的代码,请提前感谢。如果不是,我会在C#中找到答案从帧内关闭wpf窗口,wpf,vb.net,navigation,Wpf,Vb.net,Navigation,我正在将Winform项目移植到WPF,并开始使用Windows和Pages(使用框架控件)。基本上,我的意图是从一个页面导航到下一个页面,直到用户成功登录。现在,由于登录是在页面级别处理的。。。我的问题是: 页面如何关闭父窗口 如果您知道vb中的代码,请提前感谢。如果不是,我会在C#中找到答案 您应该通过使用页面实例上的属性Parent来获取承载的窗口 属性的类型为DependencyObject,因此必须将值强制转换为所需的类型。在您的情况下,您可以将其强制转换到窗口 public clas
您应该通过使用页面实例上的属性Parent来获取承载的窗口 属性的类型为
DependencyObject
,因此必须将值强制转换为所需的类型。在您的情况下,您可以将其强制转换到窗口
public class MyPage : Page{
public void CloseWindow(){
var parentWindow = this.Parent as Window;
if (parentWindow != null) {
parentWindow.Close();
}
}
}
试一试
该方法返回对承载依赖项对象所在的内容树的窗口对象的引用 关闭父窗口是什么意思?你想关闭它吗?还是要退出应用程序?抱歉。只需关闭它。谢谢Jehof,我认为你的方法是正确的,但只是尝试了代码和这个。Parent是空的(没有)。user1603568是
这个。Parent
真的什么都没有,或者是变量parentWindow
后的变量as
nothingDim LogIn=TryCast(Me.Parent,Window),这就是我在vb.net中所做的。基本上,在TryCast中,我的父母一无是处。显然,变量LogIn是相同的。@user1603568我认为您应该添加更多的代码来获得问题的答案。Public Sub CloseLogIn()Dim LogIn=TryCast(Me.Parent,Window)如果LogIn不是空的,那么LogIn.Close()End如果End Sub
public class MyPage : Page{
public void CloseWindow(){
var parentWindow = this.Parent as Window;
if (parentWindow != null) {
parentWindow.Close();
}
}
}
Public Sub CloseLogIn()
Dim LogIn = Window.GetWindow(Me)
If LogIn IsNot Nothing Then
LogIn.Close()
End If
End Sub