Search code examples
wpfuser-controlsparentchildren

Close current UserControl


I have a Window1.xaml main Window; and after some event, I display a UserControl EditFile.xaml.

The code behind is:

public static int whichSelected = -1;
private void button1_Click(object sender, RoutedEventArgs e)
{
    //searchEditPanel.Children.Clear();
    whichSelected = listViewFiles.SelectedIndex;
    searchEditPanel.Children.Add(_EditFileControle);        //this is Grid
}

And now, how can I close the opened/added UserControl from its content by clicking a Cancel button or something like that?


Solution

  • Have you tried this?

    searchEditPanel.Children.Remove(_EditFileControle);
    

    Another Suggestion:

    Maybe this helps: http://sachabarber.net/?p=162

    if it doesn't: Add a property to your UserControl:

    public UserControl ParentControl {get;set;}
    

    Now modify your code:

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        //searchEditPanel.Children.Clear();
        whichSelected = listViewFiles.SelectedIndex;
        _EditFileControle.ParentControl = this;
        searchEditPanel.Children.Add(_EditFileControle);        //this is Grid
    }
    

    Now you should be able to do this:

     // Somewhere in your UserControl
    if (this.ParentControl != null)
        this.ParentControl.Children.Remove(this);