c# - WPF:SizeToContent ="WidthAndHeight"+ WindowState ="Minimized"错误

标签 c# wpf xaml

当我将窗口的默认属性设置为:

SizeToContent="WidthAndHeight"WindowState="Minimized",

窗口右侧会有一个黑色部分。

要重现它,请尝试创建一个新的 WPF 项目并设置上述属性,然后添加:

<StackPanel>
    <Button>HELLO</Button>
    <Button>HELLO</Button>
</StackPanel>

当你运行它时,它看起来像这样......

enter image description here

但在设计模式下,它看起来不错..

enter image description here

如果您尝试调整窗口大小,按钮将卡入到位并固定布局。或者,如果您删除这两个属性中的任何一个,黑色部分就会消失。

有什么解决办法吗?这是已知错误吗?

最佳答案

Chris' answer 中所述,这是一个已知的错误。虽然变通很简单。只需将以下覆盖添加到您的窗口类:

protected override void OnStateChanged(EventArgs e)
{
    base.OnStateChanged(e);

    InvalidateMeasure();
}

这将强制 WPF 在窗口状态更改时重做窗口布局,从而给出正确的结果。

关于c# - WPF:SizeToContent ="WidthAndHeight"+ WindowState ="Minimized"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37333952/

相关文章:

c# - 如何在选择 TextBlock 中的文本的位置显示弹出窗口

.net - silverlight 中的 CoverterParameter 绑定(bind)存在问题

c# - 使用 SimpleMembership (MySQL) 将用户添加到角色时出现外键问题

c# - 通过 visual studio 运行的 UI 外观与安装的应用程序不同

c# - 路径不是有效的虚拟路径

c# - 在我的事件处理程序范围内遇到问题(ASPX .NET 3.5)

wpf - 在 WPF 用户控件上使用非简单类型的依赖属性的模式

c# WPF AlternateContent 在命名空间中不存在 [...]

c# - 使用 MVVM 单击 DataGrid 单个单元格行和列

c# - WPF Datagrid 获取所有选中的行(不使用 WPF 绑定(bind))