あなたは閉じることができますあなたのUserControl
の を開くためにPopup
クラスを使用していると仮定すると、child1
child2
は、以下のように閉じているとき:
MainWindow.xaml.cs
//Opens the child1 UserControl from MainWindow
private void button_Click(object sender, RoutedEventArgs e)
{
UserControl1 child1 = new UserControl1();
Popup p = new Popup();
child1.ParentPopup = p;
p.Child = child1;
p.IsOpen = true;
}
UserControl1.xaml.cs
public Popup ParentPopup { get; set; }
public UserControl1()
{
InitializeComponent();
}
//Opens the child2 UserControl from child1 UserControl
private void button_Click(object sender, RoutedEventArgs e)
{
UserControl2 child2 = new UserControl2();
Popup p = new Popup();
child2.Unloaded += Child2_Unloaded;
child2.ParentPopup = p;
p.Child = child2;
p.IsOpen = true;
}
//Closes the child1 UserControl when child2 is closed
private void Child2_Unloaded(object sender, RoutedEventArgs e)
{
ParentPopup.IsOpen = false;
}
UserControl2.xaml.cs
public Popup ParentPopup { get; set; }
public UserControl2()
{
InitializeComponent();
}
//Closes the child2 UserControl
private void button_Click(object sender, RoutedEventArgs e)
{
ParentPopup.IsOpen = false;
}
を使用すると、ユーザーコントロールを切り替えることがしたいですか? –
私は理解できません。ユーザーコントロールを閉じることはできません。ユーザーコントロールを保持するウィンドウを閉じることができます。 あなたの質問をよりうかがって、コード例を挙げてみてください。 ここでは、人よりも早急にコードを取り消してしまう人物です。 –
いいえしたいですか?ユーザーコントロールのみを閉じないでください。 –