框架/页面的可见性

时间:2013-04-12 14:16:25

标签: c# wpf

问题在于:

我有一个带有框架的主窗口,我用buttonpress加载页面,我喜欢这样:

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;
}

现在的问题是我找不到任何方法让页面再次可见。 我尝试在窗口上对页面进行实例化并以这种方式访问​​visibility属性,但这不起作用。

奇怪的是,当我点击另一个按钮来加载框架中的另一个页面时,这确实有效。点击另一个按钮后,当我再次点击第一个按钮时,也会再次显示。

有没有办法让这个工作?

1 个答案:

答案 0 :(得分:1)

只需保留对页面的引用

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;
}