WPF ResizeMode更改窗口大小

时间:2013-11-07 14:26:06

标签: c# wpf resize

我目前正在制作一个wpf应用程序,并希望在某些操作期间禁用窗口大小调整。我一直在使用this.ResizeMode = System.Windows.ResizeMode.CanMinimize;,它完全符合我的要求,但它使窗口比以前更大。

我不知道是否可能,但有没有办法避免扩大窗口?

编辑:

这是一个非常简单的wpf应用程序来演示这个问题。

XAML:

<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;
        }
    }
}

2 个答案:

答案 0 :(得分:0)

Actualy我真的不明白“使窗口变大”意味着什么,但也可以设置

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

而不是

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

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

答案 1 :(得分:0)

要禁止调整大小,只需执行以下操作:

ResizeMode = ResizeMode.NoResize;

它还将删除最小化和最大化按钮。