我试图自定义一个地图图钉模板。不是windows 8手机,这只是一个WPF地图控件。我无法让XAML识别TargetType。我必须指定TargetType,以便修改在泛型控件中找不到的某些元素。我试过几种变体。该代码存在于与WPF UserControl分离的XAML文件中(在MergedDictionaries中引用)。代码如下:
<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#
pushpin.Template = (ControlTemplate)(Resources["PushPinTemplate"]);发布于 2014-12-04 11:17:38
类型名称未正确写入。这是Pushpin,而不是PushPin
<ControlTemplate ... TargetType="m:Pushpin">发布于 2014-12-03 17:07:29
您错过了{x:Type }声明
<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
https://stackoverflow.com/questions/27276692
复制相似问题