【问题标题】:How to get parent of an element?如何获取元素的父级?
【发布时间】:2016-04-27 05:49:47
【问题描述】:
MainPage.xaml

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid x:Name="GridA">
        <Grid x:Name="GridB"/>
    </Grid>
</Grid>

可以从GridB 得到GridB parent

这就是我想要做的事情

//Null
Panel parent1 = GridB.Parent as Panel;

//Null
Panel parent2 = VisualTreeHelper.GetParent(GridB) as Panel;

它们都返回null。

有什么想法吗?

【问题讨论】:

  • GridB 的父级是 Grid,而不是 Panel
  • 尝试 Grid parent1 = GridB.Parent as Grid
  • 我试了一下,但是parent1也返回null。
  • 我知道为什么它总是返回null,因为我在页面构造函数中编写了代码。 ;(

标签: c# xaml win-universal-app


【解决方案1】:

使用VisualTreeHelper.GetParent 方法,但作为UIElement 而不是Panel 像这样:

var parent = VisualTreeHelper.GetParent(GridB) as UIElement;
string pName = (parent as Grid).Name; //GridA

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 2019-02-19
    • 1970-01-01
    相关资源
    最近更新 更多