当我将窗口的默认属性设置为:
SizeToContent="WidthAndHeight"
和 WindowState="Minimized"
,
窗口右侧会有一个黑色部分。
要重现它,请尝试创建一个新的 WPF 项目并设置上述属性,然后添加:
<StackPanel>
<Button>HELLO</Button>
<Button>HELLO</Button>
</StackPanel>
当你运行它时,它看起来像这样......
但在设计模式下,它看起来不错..
如果您尝试调整窗口大小,按钮将卡入到位并固定布局。或者,如果您删除这两个属性中的任何一个,黑色部分就会消失。
有什么解决办法吗?这是已知错误吗?
最佳答案
如 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/