如何移除Microsoft.Maps.MapControl.WPF地图上方的异常白色栏
问题:WPF中Microsoft.Maps.MapControl.WPF组件顶部出现白色搜索栏
我开发的WPF应用使用Microsoft.Maps.MapControl.WPF组件,其余功能正常,但地图中间上方出现一条类似谷歌搜索栏的白色栏,影响使用。地图的XAML代码如下:
<m:Map Grid.Row="1" x:Name="mapTodos" Margin="5" CredentialsProvider="myValidKey" Mode="Road" ZoomLevel="15" Center="-17.7891963,-63.1885567"/>
解决思路
- 更新组件版本:老版本的
Microsoft.Maps.MapControl.WPF可能存在这个UI显示bug,直接通过NuGet重新安装最新稳定版组件试试。 - 修改控件模板隐藏内置栏:这个白色栏是组件自带的搜索控件,可通过自定义控件模板移除它。在XAML里给
Map控件添加Template,直接去掉对应搜索栏元素,或者设置其Visibility="Collapsed"。示例代码:<m:Map Grid.Row="1" x:Name="mapTodos" Margin="5" CredentialsProvider="myValidKey" Mode="Road" ZoomLevel="15" Center="-17.7891963,-63.1885567"> <m:Map.Template> <ControlTemplate TargetType="m:Map"> <Grid> <!-- 保留地图核心显示区域 --> <ContentPresenter x:Name="ContentPresenter" Content="{TemplateBinding Content}"/> <!-- 移除原搜索栏相关元素,或找到对应控件设置Visibility为Collapsed --> </Grid> </ControlTemplate> </m:Map.Template> </m:Map> - 验证密钥权限:虽然你说密钥有效,但部分情况下密钥的服务权限配置异常(比如未包含WPF地图服务),也可能导致组件加载错误UI,确认密钥的权限范围和有效期。
- 临时遮挡方案:如果以上方法都没效果,可临时在地图上方加一个和背景色一致的矩形控件,覆盖白色栏区域(仅作为临时应急方案,不推荐长期使用)。
内容的提问来源于stack exchange,提问作者KillemAll
相关产品推荐
相关产品推荐

