我对下面的标记有两个问题:
<Popup>
<Button x:Name="button"/>
</Popup>
VisualTreeHelper.GetParent(button)
返回空? Popup
为 UIElement
? 最佳答案
而不是通过 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/