gpt4 book ai didi

c# - WPF:使网格适应图像

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:56 28 4
gpt4 key购买 nike

我知道在 WPF 中图像可以适合网格。现在网格是否也可以适应图像?

我想使用自动布局在图像的特定位置放置按钮,但图像保持其原始形状也很重要(因此 Stretch=Uniform)。但是当我首先处理网格的行和列时,按钮就在我想要的位置,但是如果我在宽度上而不是在高度上拉伸(stretch)窗口,按钮就会偏离我想要的位置(基于图像)。

是否清楚我想做什么?有谁知道我如何才能做到这一点?

编辑:在我的图片上是一个圆圈,我希望按钮始终位于圆圈附近。好的,这是我目前的代码:

<Window x:Class="VakPumpEntwurf2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Background="#FFE62626">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="69*" />
<ColumnDefinition Width="21*"/>
<ColumnDefinition Width="254*" />
<ColumnDefinition Width="173*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="55*" />
<RowDefinition Height="19*"/>
<RowDefinition Height="33*"/>
<RowDefinition Height="107*" />
<RowDefinition Height="107*" />
</Grid.RowDefinitions>

<Image Source="images/MyPic.png" Grid.ColumnSpan="4" Grid.RowSpan="5" >
</Image>

<Button Grid.Column="1" Grid.Row="1"/> //This Button shall be always near the circle
</Grid>

这里还有两张图片,希望能更清楚地说明我的问题所在:

This is the position I want my button to be regarding the circle

这就是我拉伸(stretch)窗口宽度后按钮所在的位置。但实际上我希望我的按钮始终非常靠近圆圈。

最佳答案

如果您想在按钮和圆圈之间保持相同的距离,您应该考虑使用 Canvas 面板而不是 Grid。

Canvas 定义了一个区域,您可以在该区域中使用相对于 Canvas 区域的坐标显式定位子元素:https://msdn.microsoft.com/en-us/library/system.windows.controls.canvas(v=vs.110).aspx

it's worth a try, but could I still set the backgroundimage of the Canvas to Stretch=Uniform?

当然。只需将 Canvas 的 Background 属性设置为 ImageBrush:

<Canvas>
<Canvas.Background>
<ImageBrush ImageSource="bg.png" Stretch="Uniform" />
</Canvas.Background>
...
</Canvas>

关于c# - WPF:使网格适应图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41714620/

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