gpt4 book ai didi

wpf - 如何使 Viewbox 的子元素不可扩展

转载 作者:行者123 更新时间:2023-12-04 05:51:53 24 4
gpt4 key购买 nike

我有一个带有 Viewbox 的 WPF 窗口。我希望此 Viewbox 的其中一个子元素在任何屏幕分辨率下都保持相同的大小。

我的 XAML:

<Viewbox Name="MyMainViewbox" Stretch="Fill">
<Grid Name="MyMainGrid">
<Image Source="Images/bg.bmp" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="Fill"/>
<Image Name="Thumb1" Source="Images/t1.png" MouseUp="Right_Click" Margin="0, 100, 50, 0" HorizontalAlignment="Right" VerticalAlignment="Stretch" Visibility="Visible"/>
<Image Name="Thumb2" Source="Images/t2.png" MouseUp="Left_Click" Margin="50, 100, 0, 0" HorizontalAlignment="Left" VerticalAlignment="Stretch" Visibility="Visible"/>
<Image Name="CurThumb" Width="640" Height="480" Stretch="UniformToFill" Margin="0, 50, 0, 0" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Hidden"/>
</Grid>
</Viewbox>

Viewbox 中的前 2 个图像是预定义的,并在不同的屏幕分辨率下进行了精细缩放。
我的问题是在运行时获取其源的第三张图像,并且在所有分辨率下都应该具有相同的精确尺寸。它将包含以 4x3 纵横比拍摄的照片,我希望它们保持不变。

但是在 16x9 屏幕分辨率下,它们会被拉伸(stretch)。我试图在 XAML 中设置一个固定大小 - 它不起作用。我试图将 Stretch 设置为 None - 也不起作用。我试图在后面的代码中保留此图像的大小 - 无济于事。

我还能做些什么来使第三张图片无法缩放?
出于几个原因,它应该留在 Viewbox 内。

最佳答案

使用两个重叠的元素。

<Grid>
<Viewbox>
<Grid>
... scaled images
</Grid>
</Viewbox>
<Grid>
... non scaled images
<Grid>
<Grid>

关于wpf - 如何使 Viewbox 的子元素不可扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9964652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com