Popup
は、その中に子をホストしません。 Popup
の子どもたちはPopupRoot
の中でホストされています。あなたはLive Visual Tree
でそれを見ることができます。
あなたは以下のコードを参照することができます:写真から
TextBlock text = new TextBlock();
text.Text = "Hello";
TextBlock text2 = new TextBlock();
text2.Text = "Hello world";
var objPopup = new Popup()
{
Child = text,
IsOpen = true
};
var objPopup2 = new Popup()
{
Child = text2,
IsOpen = true
};
を、あなたはButton
がRootScrollViewer
であるとPopup
の子供たちがPopupRoot
Popup
に表示されます見ることができます表示されています。
あなたはすべての現在表示されているポップアップを列挙したい場合は、回避策としてあなたは、あなたがポップアップが表示されているかどうかを知るためにPopup.IsOpen
を使用することができ、あなたがPopup
のすべてを取得するためにforeach
を使用することができますcollection.ThatにPopup
を追加することができます。例えば
:
public ObservableCollection<Popup> popups;
public MainPage()
{
this.InitializeComponent();
TextBlock text = new TextBlock();
text.Text = "Hello";
TextBlock text2 = new TextBlock();
text2.Text = "Hello world";
var objPopup = new Popup()
{
Child = text,
IsOpen = true
};
var objPopup2 = new Popup()
{
Child = text2,
IsOpen = true
};
objPopup.HorizontalOffset = 100;
objPopup2.HorizontalOffset = 600;
popups = new ObservableCollection<Popup>();
popups.Add(objPopup);
popups.Add(objPopup);
foreach (var item in popups)
{
if (item.IsOpen == false)
{
item.IsOpen = true;
}
}
}