0

I have a navigation control that is displayed in multiple pages. So, I have no way to identify the exact class name during design time. Now, when user navigates to different page, I want to hide the current page. Basically, a typical menubar behaviour. I am able to get the outermost element as a dependency object using the code below.

    Private Function GetTopLevelControl(ByVal control As DependencyObject) As DependencyObject
    Dim tmp As New DependencyObject
    tmp = control
    Dim parent As New DependencyObject
    parent = Nothing

    While Not VisualTreeHelper.GetParent(tmp) Is Nothing
        parent = VisualTreeHelper.GetParent(tmp)
    End While

    Return parent
End Function

Now, on the mouse down event, I am trying to write code to hide this parent object.

        Private Sub Menu_Nomination_MouseDown(sender As Object, e As MouseButtonEventArgs)
    Dim surveySearchPage As New SurveySearch
    surveySearchPage.Show()
    Dim parentControl As DependencyObject
    parentControl = GetTopLevelControl(Me)
    parentControl

End Sub

Problem is parentControl object has no hide or close property at all. So, I am currently stuck in trying to close the page.

jitendragarg
  • 945
  • 1
  • 14
  • 54

0 Answers0