silverlight - 如何获取 UIElement 的父弹出窗口?

标签 silverlight popup uielement

我对下面的标记有两个问题:

<Popup>
    <Button x:Name="button"/>
</Popup>
  • 为什么VisualTreeHelper.GetParent(button)返回空?
  • 我怎样才能得到父级 PopupUIElement ?
  • 最佳答案

    而不是通过 VisualTree ,您是否刚刚尝试了一个 while 循环来遍历元素的 .Parents ?

        private void TryClosePopupParent(object o)
        {
            while (o != null)
            {
                Popup p = (o as Popup);
                if(p == null)
                {
                    o = (o as FrameworkElement).Parent;
                }
                else 
                {
                    p.IsOpen = false;
                    break;
                }
            }
        }
    

    我从来没有在没有 PopUp 的东西上测试过它。作为 parent ,但这对我有用。

    关于silverlight - 如何获取 UIElement 的父弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2007550/

    相关文章:

    javascript - 重定向到不同的域 URL(Google 应用程序引擎注销)在 silverlight + javascript 中不起作用

    c# - Silverlight - 验证一个属性

    javascript - 通过用户操作使用 cookie 隐藏 DIV,以防单击关闭按钮或弹出图像

    javascript - 模态框不适用于所有引用

    c# - 如何在 3D 透视图中对 windows 8 UIElements 进行 Z 索引(Z 排序)?

    silverlight - 将折线点绑定(bind)到 ObservableCollection 不起作用

    silverlight - 如何在 MVVM 中使用两个用户控件创建主从 View ?

    C# Unity 下拉菜单,在更改调用函数时,函数查询列表返回匹配的列表项

    iphone - 另一个 View 中的弹出 View

    silverlight - 为什么我的 Silverlight UIElements 没有 OnPreview 事件?