如何获取wpf按钮的父母的父母

hey*_*Now 3 vb.net binding parent-child wpf-controls

我想得到一个Button的父母的父母.我能够让父母使用

Dim tempB As Button = CType(sender, Button)
Dim g1 As Grid = CType(tempB.Parent, Grid)  
Run Code Online (Sandbox Code Playgroud)

(在我的点击处理程序中).但如果我这样做

Dim g2 As New Object
g2 = g1.Parent

tempB.Content = g2.GetType 
Run Code Online (Sandbox Code Playgroud)

我得到了 NullReference Exception

Won*_*ane 6

这是一个简单的C#代码段,它将为您提供所有单击按钮的父项:

   private void Button_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show(GetParents(sender, 0));
    }

    private string GetParents(Object element, int parentLevel)
    {
        string returnValue = String.Format("[{0}] {1}", parentLevel, element.GetType());
        if (element is FrameworkElement)
        {
            if (((FrameworkElement) element).Parent != null)
                returnValue += String.Format("{0}{1}",
                    Environment.NewLine, GetParents(((FrameworkElement)element).Parent, parentLevel + 1));
        }
        return returnValue;
    }
Run Code Online (Sandbox Code Playgroud)