Hello,

I have a Wpf window(MainWindow) with 1 grid (Grid1) that contains 1 button(button that when clicked launches another WPF in Grid2) and a second grid (Grid2).

The second window (Window1) is launched inside Grid2 of the MainWindow.

Inside Window1 there are 3 buttons.

Button1 starts a messagebox (works fine)
Button2 changes the contents of the Label (works fine)
Button3 should close down the Window1 but doesn't.

My question is. What is the best way under these circumstances to close down Window1 and leave MainWindow open?



MainWindow.xaml
Code:
<Window x:Class="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:WpfInsideWpf"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid x:Name="Grid1" Background="#FFCCD424">
        <Grid x:Name="Grid2" HorizontalAlignment="Left" Height="234" Margin="43,51,0,0" VerticalAlignment="Top" Width="438" Background="#FFDC1B1B"/>
        <Button x:Name="button" Content="Run" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="43,10,0,0"/>

    </Grid>
</Window>
MainWindow.xaml.vb

Code:
Class MainWindow
    Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
        Dim PO = New Window1()

        Dim Content As Object = PO.Content

        PO.Content = Nothing

        Grid2.Children.Add(Content)
    End Sub
End Class
Window1.xaml

Code:
<Window x:Class="Window1"
        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:WpfInsideWpf"
        mc:Ignorable="d"
        Title="Window1" Height="300" Width="300">
    <Grid Background="#FF40AE45">
        <Button x:Name="ButtonMessageBox" Content="Message Box" HorizontalAlignment="Left" Margin="24,27,0,0" VerticalAlignment="Top" Width="92"/>
        <Button x:Name="ButtonChangeLabel" Content="Change Label" HorizontalAlignment="Left" Margin="24,70,0,0" VerticalAlignment="Top" Width="92"/>
        <Label x:Name="label1" Content="" HorizontalAlignment="Left" Height="22" Margin="157,70,0,0" VerticalAlignment="Top" Width="103" Background="#FF9C4E4E"/>
        <Button x:Name="ButtonExit" Content="Exit" HorizontalAlignment="Left" Margin="24,112,0,0" VerticalAlignment="Top" Width="92"/>

    </Grid>
</Window>
Window1.xaml.vb

Code:
Public Class Window1
    Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
        MessageBox.Show("Hello World")
    End Sub

    Private Sub ButtonChangeLabel_Click(sender As Object, e As RoutedEventArgs) Handles ButtonChangeLabel.Click

        If label1.Content = "" Then
            label1.Content = "Hello World"
            Return
        End If

        If label1.Content = "Hello World" Then
            label1.Content = ""
            Return
        End If
    End Sub

    Private Sub ButtonChangeLabel_Copy_Click(sender As Object, e As RoutedEventArgs) Handles ButtonChangeLabel_Copy.Click
        'Exit Programe
        Dim ExitMessage As Integer
        ExitMessage = MsgBox("Do you want to quit?", 1)
        If ExitMessage = 1 Then
            Me.Close()

        End If
        Return
    End Sub
End Class
Thank you Tony.