WPF将应用程序窗口裁剪为屏幕分辨率

时间:2011-08-06 11:32:04

标签: wpf window crop screen-resolution

我有一个带有自定义窗口样式的WP应用程序。应用程序窗口的大小是固定的,不可调整大小(客户端的请求)。

如果屏幕重新设置小于应用程序窗口的大小,则窗口会被裁剪。 如果我拖动窗口将裁剪的部分放入屏幕,它将保持不可见!

如何告诉WPF停止将窗口裁剪到屏幕分辨率,这样如果我将其拖动,我仍然可以看到整个窗口?

我的窗口代码如下:

  <Window x:Class="AudioApplication.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
        mc:Ignorable="d" 
        d:DesignHeight="540"   d:DesignWidth="1020"
        xmlns:VW="clr-namespace:MyApp.View"
        Title="MyApp" AllowsTransparency="False" 
        WindowStyle="None" Background="#6C6D6C"
        ResizeMode="NoResize" ShowInTaskbar="True"
        WindowStartupLocation="CenterScreen" Width="1005" Height="500"
        Icon="/MyApp;component/MyApp.ico">

2 个答案:

答案 0 :(得分:1)

我不知道这个技巧是否适合您(客户)的期望,但我在几个应用程序中使用以下代码。

        //set window size
        this.Width = SystemParameters.MaximizedPrimaryScreenWidth - 6.0 - 2 * SystemParameters.BorderWidth;
        this.Height = SystemParameters.MaximizedPrimaryScreenHeight - 6.0 - 2 * SystemParameters.BorderWidth;
        this.Left = 0.0;
        this.Top = 0.0;

将其放在Windows.Loaded事件处理程序中,窗口大小将适合整个桌面区域。您可以检查桌面尺寸,如果它小于窗口的原始尺寸,您可以调整最佳状态。

即使窗口不允许用户调整大小,这也应该有效。

答案 1 :(得分:1)

最后我找到了解决方案。我必须设置MinWidth和MinHeight属性。我不知道那些可能影响窗户的一般裁剪。