gpt4 book ai didi

c# - 在 C# 中以编程方式调整 wpf 窗口的大小

转载 作者:太空狗 更新时间:2023-10-29 20:00:24 25 4
gpt4 key购买 nike

我有一个带有两个用户控件的 wpf 窗口,其中第二个仅在需要时显示。我只在 XAML 中设置窗口的 MinWidth,MinHeight 是通过数据绑定(bind)提供的,一个 ist 集取决于是否显示第二个用户控件。现在:如何在运行时将窗口大小设置为不同于 MinWidth/Height 的值。我尝试在 Show() 之前、Show() 之后、各种事件(初始化、加载等)中设置值。我尝试使用和不使用 UpdateLayout(),我尝试通过数据绑定(bind)设置高度/宽度。什么都不管用!但是当我调试这些方法时,我看到窗口的高度/宽度属性设置为预期值,但 ActualHeight/Width 保持不变。我以为这会是一件小事,但事实证明它不是(对我来说)。你的任何帮助。

最佳答案

你试过设置吗

Application.Current.MainWindow.Height = 100;

简短的补充:我刚刚用代码做了一个简短的测试:

public partial class MainWindow : Window, INotifyPropertyChanged
{
private int _height;
public int CustomHeight
{
get { return _height; }
set
{
if (value != _height)
{
_height = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("CustomHeight"));
}
}
}

public MainWindow()
{
InitializeComponent();
this.DataContext = this;
CustomHeight = 500;
}

public event PropertyChangedEventHandler PropertyChanged;

private void Button_Click(object sender, RoutedEventArgs e)
{
CustomHeight = 100;
}
}

和 XAML:

<Window x:Class="WindowSizeTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="{Binding CustomHeight, Mode=TwoWay}" Width="525">
<Grid>
<Button Click="Button_Click">Test</Button>
</Grid>
</Window>

点击按钮设置窗口高度。这就是您要找的吗?

关于c# - 在 C# 中以编程方式调整 wpf 窗口的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7103169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com