使用窗口缩放工具提示
本文关键字:工具提示 缩放 窗口 | 更新日期: 2023-09-27 18:22:21
我得到了一些WPF应用程序。我将内容放在viewbox
中,它运行良好,但tooltip
无法与其他内容进行缩放。我理解为什么,但我不知道如何缩放它。我应该将窗口中的实际大小绑定到工具提示中的某个大小吗?或者工具提示缩放有一些常见的做法?谢谢
我认为您必须自己按ScaleTransform
缩放工具提示的内容。请注意,您必须设置LayoutTransform
(而不是RenderTransform
),以便工具提示调整自身大小以适应其内容。问题是如何知道要应用于工具提示内容的缩放因子?幸运的是,我们可以很容易地从Viewbox
中得到这个因子。以下是Viewbox中Button
的XAML代码示例:
<Viewbox Name="vb">
<Grid>
<Button>
<Button.ToolTip>
<Border Name="toolTipContent">
<TextBlock>Some instruction...</TextBlock>
</Border>
</Button.ToolTip>
Open
</Button>
</Grid>
</Viewbox>
调整窗口大小时,您应该重新缩放工具提示,因此我们应该处理事件SizeChanged
:
ContainerVisual cv;
private void sizeChanged_handler(object sender, SizeChangedEventArgs e){
if(cv == null) {
cv = VisualTreeHelper.GetChild(vb, 0) as ContainerVisual;
}
//cv.Transform is in fact a ScaleTransform
toolTipContent.LayoutTransform = cv.Transform;
}