在VS2010 RTM中使用WPF .NET 4.0:我无法创建全屏WPF弹出窗口.
如果我创建一个大小为50%宽度和100%高度的弹出窗口,一切正常,但如果我尝试创建一个大小为100%宽度和高度的"全屏"弹出窗口,它最终显示为100%宽度和75%高度......底部是截断的.
注意:宽度和高度实际上是以代码中的像素表示的,我使用百分比来使情况更容易理解......
它"感觉"有某种限制,防止弹出区域超过屏幕总面积的约75%.
更新:这是一个显示问题的Hello World示例.
<Window x:Class="TechnologyVisualizer.PopupTest"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="PopupTest"
WindowStyle="None" WindowState="Maximized" Background="DarkGray">
<Canvas x:Name="MainCanvas" Width="1920" Height="1080">
<Popup Placement="Center" VerticalAlignment="Center" HorizontalAlignment="Center" Width="1900" Height="1060" Name="popContent">
<TextBlock Background="Red">Hello World</TextBlock>
</Popup>
<Button Canvas.Left="50" Canvas.Top="50" Content="Menu" Height="60" Name="button1" Width="80"
FontSize="22" Foreground="White" Background="Black" Click="button1_Click" />
</Canvas>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace TechnologyVisualizer
{
/// <summary>
/// Interaction logic for PopupTest.xaml
/// </summary>
public partial class PopupTest : Window
{
public PopupTest()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
popContent.IsOpen = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您运行此选项,如果您将弹出窗口的宽度更改为500,那么弹出窗口的底部25%将丢失,然后它将全高
Ran*_*ngy 10
您对尺寸限制(屏幕的75%)的猜测是正确的.它在这里记录:
.NET 4文档中缺少相关说明.我想你需要使用另一种获取全屏的方法.我通常使用最大化,无边框,不可调整大小的窗口.