2009-09-23 153 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