2017-09-28 101 views
0

我知道WPF窗口具有'SizeToContent'属性,它工作得很好,几乎是我想要的这种情况。然而,我有什么不同。我有一个窗口,它有一些一般的内容,我希望它自动调整到该内容的高度。设置SizeToContet =“高度”......到目前为止非常好。WPF窗口大小...大部分内容?

但是,我也有一个图形元素,位于主要内容的后面,并且设计在左下角。该窗口可以很短,所以在某些情况下,图形比主要内容更高;在这种情况下,我希望它将图形剪辑到主要内容的高度。然而,使用SizeToContent时,它会将图形视为内容的一部分(可以理解),并且不会让窗口变得比这更短。

有没有办法在计算SizeToContent高度时告诉特定项目被忽略?

+1

把项目放在画布? – shadow32

+0

有趣的是,我不知道画布不会对此有所贡献......但是画布似乎总是有顶部的证明,所以当画布变得更短时,它将图形的顶部保留在窗口的顶部边缘并切掉底部;我希望得到相反但非常好的信息。 – sfaust

回答

0

好吧我想我想出了一些可行的东西。 UI元素的Background财产无助于这种计算似乎,所以我最后做的是把一个图像刷背景上主电网这样的:

<Grid.Background> 
     <ImageBrush ImageSource="Images/Gfx_UICorner_NoLogo.png" AlignmentX="Left" AlignmentY="Bottom" Stretch="None" /> 
    </Grid.Background> 

这样做将它正确对齐左下方并且它不会有助于计算窗口的期望大小,因此短窗口将像我一直在寻找的那样切断顶部。

感谢this thread指向我在正确的方向...