抱歉,标题不是很清楚,但我不知道如何准确描述我正在寻找的内容。
所以我在滚动查看器中得到的是一个非常大的图像:
<ScrollViewer x:Name="scrollView" ZoomMode="Enabled" HorizontalScrollMode="Enabled" VerticalScrollMode="Enabled" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" MinZoomFactor="1" ViewChanged="scrollView_ViewChanged">
<Grid Width="{Binding Path=ViewportWidth, ElementName=scrollView}">
<Image x:Name="img" Source="The Known World.jpg" Stretch="UniformToFill"/>
</Grid>
</ScrollViewer>
我想放置类似 UI 元素的图钉,这些元素将粘贴到 map 上的某个位置,但不会随滚动查看器一起缩放。就像谷歌地图上的城镇名称一样。我尝试过各种方法,例如:
<Scrollviewer>
<Grid Width="{Binding Path=ScrollableWidth, ElementName=scrollView}"
Height="{Binding Path=ScrollableHeight, ElementName=scrollView}">
<!--Pins here-->
</Grid>
<Scrollviewer>
但没有任何行为符合预期。我该怎么做才能获得这种行为?
最佳答案
这是一个非常有趣又棘手的问题。 我会用 Canvas 来处理它,我可以用它来将我的图钉正确地放置在图像顶部,并确保无论滚动查看器位置如何,它们的位置都保持固定。
当您说您希望图钉不随着滚动查看器缩放时,棘手的部分就出现了。我唯一的想法是你可以尝试跟踪滚动查看器上的缩放比例,并将其倒数应用于引脚(因此,如果滚动查看器缩放比例为 1,则引脚上的比例为 1,在ZoomScale = 2,PinScale = 1/2)
不确定这是否有效,但值得一试。
关于c# - 固定在 map 上(如 UI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37831252/