WPF Window 大小到...大部分内容?
WPF Window Size to... most of content?
我知道 WPF windows 有 'SizeToContent' 属性,它工作得很好,在这种情况下几乎是我想要的。但是我所拥有的略有不同。我有一个 window,上面有一些常规内容,我希望它自动调整到该内容的高度。设置 SizeToContet="Height"...到目前为止一切顺利。
但是,我还有一个图形元素位于主要内容的后面并且设计为位于左下角。 window 可以很短,因此在某些情况下图形比主要内容高;在这种情况下,我希望它将图形裁剪到主要内容的高度。但是,对于 SizeToContent,它将图形视为内容的一部分(可以理解),并且不会让 window 比这更短。
有没有办法告诉在计算 SizeToContent 高度时忽略特定项目?
好的,我想我找到了可行的方法。 UI 元素的 Background
属性 似乎对这个计算没有贡献,所以我最终做的是在主网格上放置一个 ImageBrush 背景,如下所示:
<Grid.Background>
<ImageBrush ImageSource="Images/Gfx_UICorner_NoLogo.png" AlignmentX="Left" AlignmentY="Bottom" Stretch="None" />
</Grid.Background>
这样做会将其正确对齐到左下角,并且不会有助于计算 window 的所需大小,因此短 windows 会像我正在寻找的那样切断顶部。
感谢 this thread 为我指明了正确的方向...
我知道 WPF windows 有 'SizeToContent' 属性,它工作得很好,在这种情况下几乎是我想要的。但是我所拥有的略有不同。我有一个 window,上面有一些常规内容,我希望它自动调整到该内容的高度。设置 SizeToContet="Height"...到目前为止一切顺利。
但是,我还有一个图形元素位于主要内容的后面并且设计为位于左下角。 window 可以很短,因此在某些情况下图形比主要内容高;在这种情况下,我希望它将图形裁剪到主要内容的高度。但是,对于 SizeToContent,它将图形视为内容的一部分(可以理解),并且不会让 window 比这更短。
有没有办法告诉在计算 SizeToContent 高度时忽略特定项目?
好的,我想我找到了可行的方法。 UI 元素的 Background
属性 似乎对这个计算没有贡献,所以我最终做的是在主网格上放置一个 ImageBrush 背景,如下所示:
<Grid.Background>
<ImageBrush ImageSource="Images/Gfx_UICorner_NoLogo.png" AlignmentX="Left" AlignmentY="Bottom" Stretch="None" />
</Grid.Background>
这样做会将其正确对齐到左下角,并且不会有助于计算 window 的所需大小,因此短 windows 会像我正在寻找的那样切断顶部。
感谢 this thread 为我指明了正确的方向...