2009-09-23 114 views
1

所以基本上,MainWindow打开第二个窗口,让我们说OptionsWindow。所以在OptionsWindow中,我想显示一个MainWindow的视觉效果。我试过这个,但没有工作:另一个窗口中的一个窗口的VisualBrush

<Rectangle Grid.Row="1" Margin="3" Height="100"> 
    <Rectangle.Fill> 
     <VisualBrush Visual="{Binding Application.Current.MainWindow}" /> 
    </Rectangle.Fill> 
</Rectangle> 

任何帮助极大的赞赏。

编辑:

我找到了答案很明显:

windowPreview.Visual = Application.Current.MainWindow; 

唯一奇怪的是,它再次调用主窗口的Loaded事件,我有一些代码有只应运行的时候MainWindow首先加载。我虽然它只会显示MainWindow的当前实例。任何解决方法?

回答

0

如果您将加载代码放在MainWindow的构造函数中,那么每个实例只应调用一次。

我不确定这是否是一个WPF为任何给定的窗口多次调用Load事件的错误,但听起来像它可能是由用户关闭并重新加载窗口的情况下设计的...

+0

奇怪的是,视觉中的控件根本没有功能。我想这是调用Loaded事件,因为它实际上重新绘制了它,但是如果是这样的话,那看起来不太方便。 – Carlo 2009-09-23 20:29:23