我有一个带有自定义窗口样式的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">
答案 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属性。我不知道那些可能影响窗户的一般裁剪。