在使用Bing Maps Silverlight Control进行Bing Maps开发中,图钉(pushpin)标注控件的使用频率是非常之高,多数情况下都会使用其tooltip特性来呈现一些数据信息,但默认的tooltip外观并不完美,显得格外的难看。于此需要开发者自己实现其漂亮的外观界面,本篇将由浅入深的带你走入图钉(pushpin)控件的tooltip外观美化之路。
之前我曾写过一篇自定义图钉控件和信息提示面板的文章《【Silverlight】Bing Maps开发应用与技巧二:自定义图钉标注控件和动态ToolPanel 》,里面详细介绍了如何自定义实现图钉控件功能,以及其信息提示面板(ToolPanel)的使用等,本篇将介绍如何通过样式对Bing Maps Silverlight Control内置的图钉控件的tooltip外观进行美化。
在默认的情况下,通常是使用如下方式进行设置其tooltip的内容:
var pushpin = new pushpin();tooltipService.Settooltip(pushpin, " 这里是图钉控件tooltip内容! " );
MapLayer.AddChild(pushpin, new Location( 29.5076372217973 , 106.489384971208 ));
默认的tooltip外观非常难看,开发者可以通过定义样式去改变其他外观呈现效果,比如定义为下面样式代码:
< Style x:Key ="pushpinStyle" targettype ="tooltip" >< Setter Property ="Background" Value ="transparent" />
< Setter Property ="borderBrush" Value ="transparent" />
< Setter Property ="borderThickness" Value ="0" />
< Setter Property ="Template" >
< Setter.Value >
< ControlTemplate >
< border CornerRadius ="5" >
< border.Background >
< SolIDcolorBrush color ="Black" Opacity ="0.5" />
</ border.Background >
< ContentPresenter margin ="5" >
< ContentPresenter.Content >
< StackPanel margin ="5" MaxWIDth ="200" MinHeight ="80" >
< TextBlock Text ="这里是图钉控件tooltip内容!" FontSize ="12" Foreground ="White" />
</ StackPanel >
</ ContentPresenter.Content >
</ ContentPresenter >
</ border >
</ ControlTemplate >
</ Setter.Value >
</ Setter >
</ Style >
那么在设置对象的tooltip的时候就只需要动态的给ToopTip引用上面定义的样式就行了,可以通过如下代码的方式调用自定义的样式。
var pushpin = new pushpin();tooltipService.Settooltip(pushpin, new tooltip()
{
Style = Application.Current.Resources[ " pushpinStyle " ] as Style
});
MapLayer.AddChild(pushpin, 106.489384971208 ));
其最终的运行效果如下图所示:
注:本篇是根据网上文章简单翻译而成,主要借鉴其实现思想并加入了相关描述,其原文链接如下:
http://rbrundritt.spaces.live.com/blog/cns!E7DBA9A4BFD458C5!1151.entry
总结以上是内存溢出为你收集整理的【Silverlight】Bing Maps开发应用与技巧六:使用样式美化图钉(Pushpin)控件的ToolTip外观全部内容,希望文章能够帮你解决【Silverlight】Bing Maps开发应用与技巧六:使用样式美化图钉(Pushpin)控件的ToolTip外观所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)