Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从WPF应用程序全屏弹出usercontrol?_C#_Wpf_Wpf Controls_Popup_Fullscreen - Fatal编程技术网

C# 如何从WPF应用程序全屏弹出usercontrol?

C# 如何从WPF应用程序全屏弹出usercontrol?,c#,wpf,wpf-controls,popup,fullscreen,C#,Wpf,Wpf Controls,Popup,Fullscreen,有没有办法将用户控件/控件(比如网格、ViewBox或自定义控件)从WPF应用程序弹出到全屏或模式窗口?按esc键时,将其放回初始位置 一个场景可能是,您有一个WPF应用程序,它由一个具有两列的网格组成。其中第一个显示图像预览,第二个显示图像列表。双击图像预览时,它会弹出全屏或模式对话框 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefin

有没有办法将用户控件/控件(比如网格、ViewBox或自定义控件)从WPF应用程序弹出到全屏或模式窗口?按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>

我在万维网上搜寻答案,但没有成功。 任何想法或例子或链接将不胜感激

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所述,您不能覆盖全屏。最多一个弹出对话框可以覆盖75%的全屏

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

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

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

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


如果需要网格,而您不想使用自定义逻辑。您可以始终将图像放置在窗体上其他控件的顶部,并将其默认可见性设置为false。可以将“图像源”属性绑定到“选定项”属性。然后,当选择不为空时,可以显示图像?

这是一个确定的解决方案,我已经在那里查看了您的帖子。我偶然寻找的是一个多监视器支持,我希望看到一个全屏用户控件,并且仍然能够看到WPF应用程序中的第二列。这有什么意义吗?我快速环顾了一下四周,似乎在第二个显示器上打开另一个窗口并不容易。我已经找到了一个它如何工作的例子,我想创建一个模式对话框,并在不丢失ViewModel连接的情况下向其中添加usercontrol,然后将窗口扩展到全屏。我还没想好怎么做。谢谢你的快速回复。我已经检查了弹出控件,我正在尝试在多监视器系统上执行此操作。我有一些困难,无法在一个屏幕上显示弹出窗口,而在另一个屏幕上显示WPF。我还需要覆盖100%的屏幕。然后我尝试创建一个模式对话框,并将其移动到第二个屏幕,但没有成功。谢谢,我以为我会丢失它:)。不管我做了什么,它总是占屏幕的3/4。