0

問題は次のとおりです。

ボタンを押してページをロードするフレームを備えたメインウィンドウがあります。これは次のように行います。

private void btnKlanten_Click(object sender, RoutedEventArgs e)
{
    frameMain.Source = new Uri("Frames/Klanten.xaml", UriKind.Relative);
}

ページビューでカスタムの閉じるボタンを作成したので、クリックするとページが閉じられるようにシミュレートします。実際に行うことは、可視性を折りたたみに設定することです。

private void Close_MouseDown(object sender, MouseButtonEventArgs e)
{
    this.Visibility = Visibility.Collapsed;
}

問題は、ページを再び表示する方法が見つからないことです。ウィンドウ上のページをインスタンス化し、その方法で可視性プロパティにアクセスしようとしましたが、うまくいきません。

奇妙なことに、フレームに別のページをロードする別のボタンをクリックすると、それが機能します。別のボタンをクリックした後、最初のボタンをもう一度クリックすると、それも再び表示されます。

これを機能させる方法はありますか?

4

1 に答える 1

2

ページへの参照を保持するだけです

private Page1 page1;
private void btnShowFrame(object sender, RoutedEventArgs e)
{
    if (page1 == null)
    {
        page1 = new Page1();
        frame1.Navigate(page1);
    }
    if (page1.Visibility != System.Windows.Visibility.Visible) page1.Visibility = System.Windows.Visibility.Visible;
}
于 2013-04-12T14:56:16.220 に答える