WPF ResizeMode更改窗口大小

deikduxw  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(180)

我目前正在制作一个wpf应用程序,想在某些操作期间禁用窗口大小调整,我一直在使用this.ResizeMode = System.Windows.ResizeMode.CanMinimize;,它做的正是我想要的,但它使窗口比以前更大。
我不知道这是否可能,但有没有办法避免扩大窗口?
编辑:
下面是一个非常简单的wpf应用程序,它演示了这个问题。
示例:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="Trigger CanMinimize" Height="23" HorizontalAlignment="Left" Margin="62,248,0,0" Name="canMin" VerticalAlignment="Top" Width="120" Click="canMin_Click" />
        <Button Content="Trigger CanResize" Height="23" HorizontalAlignment="Left" Margin="327,248,0,0" Name="canRes" VerticalAlignment="Top" Width="108" Click="canRes_Click" />
    </Grid>
</Window>

cs文件:

using System.Windows;

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void canMin_Click(object sender, RoutedEventArgs e)
        {
            this.ResizeMode = System.Windows.ResizeMode.CanMinimize;
        }

        private void canRes_Click(object sender, RoutedEventArgs e)
        {
            this.ResizeMode = System.Windows.ResizeMode.CanResize;
        }
    }
}
mlmc2os5

mlmc2os51#

实际上,我不太明白“使窗口变大”是什么意思,但您也可以设置

MaxWidth = ActualWidth;
MinWidth = ActualWidth;
MaxHeight = ActualHeight;
MinHeight = ActualHeight;

代替

this.ResizeMode = System.Windows.ResizeMode.CanResize;

如果要重新启用调整大小,请将这些属性设置为double.NaN

hgqdbh6s

hgqdbh6s2#

要禁止调整大小,只需执行以下操作:
ResizeMode = ResizeMode.NoResize;
它还将删除最小化和最大化按钮。

相关问题