如何从WPF应用程序弹出用户控件到全屏?

时间:2011-11-14 12:46:55

标签: c# wpf wpf-controls popup fullscreen

有没有办法弹出用户控件/控件让我们说从WPF应用程序到全屏或模态窗口的Grid,ViewBox或自定义控件?当你按下esc时,把它放回原来的位置。

方案可能是您有一个包含两列网格的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上找到了答案而没有任何成功。 任何想法或示例或链接将不胜感激。

2 个答案:

答案 0 :(得分:2)

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%

答案 1 :(得分:0)

上周我问了一个类似的问题。可以看到here

我最终使用了一个包装面板,它的高度和宽度设置为auto并包含一个控件列表。 (我使用自定义逻辑来计算每个控件的高度/宽度)。

当用户选择控件时,我会在所有其他控件上将可见性设置为false。这使得所选控件现在全屏显示。

当用户取消选择时,循环浏览所有控件并将它们设置为再次可见。

如果需要网格,并且您不想使用自定义逻辑。您始终可以将图像放在表单上的其他控件之上,并将其默认可见性设置为false。您可以将图像源属性绑定到选定的项属性。那么当选择不为空时,可以显示图像吗?