Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从帧内关闭wpf窗口_Wpf_Vb.net_Navigation - Fatal编程技术网

从帧内关闭wpf窗口

从帧内关闭wpf窗口,wpf,vb.net,navigation,Wpf,Vb.net,Navigation,我正在将Winform项目移植到WPF,并开始使用Windows和Pages(使用框架控件)。基本上,我的意图是从一个页面导航到下一个页面,直到用户成功登录。现在,由于登录是在页面级别处理的。。。我的问题是: 页面如何关闭父窗口 如果您知道vb中的代码,请提前感谢。如果不是,我会在C#中找到答案 您应该通过使用页面实例上的属性Parent来获取承载的窗口 属性的类型为DependencyObject,因此必须将值强制转换为所需的类型。在您的情况下,您可以将其强制转换到窗口 public clas

我正在将Winform项目移植到WPF,并开始使用Windows和Pages(使用框架控件)。基本上,我的意图是从一个页面导航到下一个页面,直到用户成功登录。现在,由于登录是在页面级别处理的。。。我的问题是:

页面如何关闭父窗口

如果您知道vb中的代码,请提前感谢。如果不是,我会在C#中找到答案


您应该通过使用页面实例上的属性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