我在c#WPF中使用Microsoft.Maps.MapControl.WPF dll。
以下是我的问题:
我为图钉使用自定义模板,因为我需要为它显示一些简单的信息。据我所知,WPF版本中没有信息框。
将图钉集中在一起对我来说不是一个选项,因为图钉表示需要在地图上显示的交货地点。缩小对我来说不是一个选择,因为在城镇的另一边可能有一个交付,所有需要通过包括所有图钉的边界框显示。
以下是我的自定义图钉模板的代码:
<ControlTemplate x:Key="RedPushPinTemplate" TargetType="m:Pushpin">
<Grid >
<TextBlock Name="textBlock1" Text="{TemplateBinding Content}" Canvas.ZIndex="2" Height="75" Width="65" TextWrapping="Wrap" Grid.Column="0" Grid.Row="0" Foreground="Black"></TextBlock>
<Rectangle Width="35" Height="50" Margin="0 35 0 0" Canvas.ZIndex="1">
<Rectangle.Fill >
<ImageBrush ImageSource="pack://application:,,,/Images/redpin.jpg"/>
</Rectangle.Fill>
</Rectangle>
</Grid>
</ControlTemplate>
我的问题是,无论如何都要为模板编写代码来检测重叠并做一些很好的事情来显示两个引脚的信息。更好的是,有没有人知道内置了这个功能的信息框控件?
非常感谢你的时间。
答案 0 :(得分:0)
对不起,迟到了。
你有多少个Pushpins?一个可能性是比较物品清单(X&amp; Y坐标+半径)以找出彼此相交的Pushpins。然后你可以调整X值并再次进行交互。
您也可以在控制级别本身附加一个不断寻找图钉的行为,然后查看它们是否相交。