首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XAML为Map PushPin创建PushPin

XAML为Map PushPin创建PushPin
EN

Stack Overflow用户
提问于 2014-12-03 16:23:31
回答 2查看 1.8K关注 0票数 1

我试图自定义一个地图图钉模板。不是windows 8手机,这只是一个WPF地图控件。我无法让XAML识别TargetType。我必须指定TargetType,以便修改在泛型控件中找不到的某些元素。我试过几种变体。该代码存在于与WPF UserControl分离的XAML文件中(在MergedDictionaries中引用)。代码如下:

代码语言:javascript
复制
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF">

    <ControlTemplate x:Key="PushPinTemplate" TargetType="m:PushPin" >
        <Grid x:Name="ContentGrid">
            <StackPanel Orientation="Vertical">
                <Grid Background="{TemplateBinding Background}"
                                                HorizontalAlignment="Left"
                                                MinHeight="31"
                                                MinWidth="29">
                    <ContentPresenter HorizontalAlignment="Center"
                                               Content="{TemplateBinding Content}"
                                               ContentTemplate="{TemplateBinding ContentTemplate}"
                                               Margin="4"/>
                </Grid>
                <Polygon Fill="{TemplateBinding Background}"
                                                             Points="0,0 29,0 0,29"
                                                             Width="29"
                                                             Height="29"
                                                             HorizontalAlignment="Left"/>
            </StackPanel>
        </Grid>
    </ControlTemplate>
</ResourceDictionary>

在PushPin.Template中设置C#

代码语言:javascript
复制
pushpin.Template = (ControlTemplate)(Resources["PushPinTemplate"]);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-04 11:17:38

类型名称未正确写入。这是Pushpin,而不是PushPin

代码语言:javascript
复制
<ControlTemplate ... TargetType="m:Pushpin">
票数 3
EN

Stack Overflow用户

发布于 2014-12-03 17:07:29

您错过了{x:Type }声明

代码语言:javascript
复制
<ControlTemplate x:Key="PushPinTemplate" TargetType="{x:Type m:PushPin}" >

这意味着您要向TargetType提供字符串,而不是类型

x:Type标记扩展为接受类型类型的属性提供了从字符串转换行为。输入是XAML类型。

http://msdn.microsoft.com/en-us/library/ms753322%28v=vs.110%29.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27276692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档