2011-11-14 22 views
0

有沒有辦法彈出一個用戶控件/控件讓一個Grid,ViewBox或從WPF應用程序到全屏或模態窗口的自定義控件?當你按esc時,把它放回原來的位置。如何從一個WPF應用程序中彈出一個usercontrol到全屏?

場景可能是您有一個WPF應用程序,其中包含兩列網格。第一個顯示圖像預覽,第二個顯示圖像列表。雙擊圖像預覽時,它會彈出全屏或作爲模態對話框。

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*"/> 
    <ColumnDefinition Width="Auto"/> 
    <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 

    <Image Content="Left" Grid.Column="0" /> 

    <GridSplitter HorizontalAlignment="Right" 
       VerticalAlignment="Stretch" 
       Grid.Column="1" Width="5"> 

    <ListBox Content="Right" Grid.Column="2" /> 
</Grid> 

我已經在沒有任何成功的情況下搜索了www的答案。 任何想法或例子或鏈接,將不勝感激。

回答

1
A Popup that covers more than 75 percent of the screen, reduces its width first 
    and then its height to meet the maximum coverage limit of 75 percent. 

無法按照MSDN here的說明覆蓋整個屏幕。最大彈出對話框可以覆蓋整個屏幕的75%

+0

謝謝,快速回復。我已經檢查了Popup控件,我正嘗試在多監視器系統上執行此操作,但我在顯示一個屏幕上的彈出窗口和另一個屏幕上顯示WPF時遇到了一些困難。另外我需要覆蓋100%的屏幕。然後我嘗試創建一個模式對話框,並將其移至第二個屏幕,但沒有任何成功。 – dzed

+0

謝謝,我以爲我失去了它:)。 它只是總是3/4的屏幕無論我做了什麼。 –

0

上週我問了一個類似的問題。其中可以看到here

我結束了使用包裝面板,其高度和寬度設置爲自動,幷包含控件列表。 (我使用自定義邏輯來計算每個控件的高度/寬度)。

當用戶選擇一個控件時,我將所有其他控件的可見性設置爲false。這使得看起來所選控件現在全屏。

當用戶取消選擇時,循環遍歷所有控件並將它們設置爲可見。

如果需要網格並且不想使用自定義邏輯。您始終可以將圖像放在窗體上其他控件的頂部,並將其默認可見性設置爲false。您可以將圖像源屬性綁定到選定的項目屬性。那麼當選擇不爲空時,可以顯示圖像?

+0

這是一個明確的解決方案,我已經檢查了你的帖子。我在尋找的是一個多監視器支持,我希望看到一個全屏用戶控件,並且仍然能夠看到WPF應用程序中的第二列。這有意義嗎? – dzed

+0

我已經快速瀏覽過,看起來好像在第二臺顯示器上打開另一個窗口並不容易。我找到了一個如何工作的例子[here](http://mostlytech.blogspot.com/2008/01/maximizing-wpf-window-to-second-monitor.html) – seanzi

+0

我想創建一個Modal對話框中添加用戶控件,但不會丟失ViewModel連接,然後將窗口展開爲全屏。還沒有想出如何去做。 – dzed

相關問題