帮助设计WPF控件模板
我正在尝试设计一个模板,用于Bing地图。我从基本模板开始,撕下了一些片段,又添加了一些片段,但是我把它弄得一团糟 我试图实现的是一个图钉,它的每一面都有一个工具提示,我可以在其中插入更多信息(尽管这些实际上不是工具提示;它们是基于绑定属性永久显示的)。类似于 正如你所看到的,我不是一个艺术家,也没有真正走得很远 有人能帮忙吗?我想要的是引脚两侧的橙色条能够包含基于绑定的文本(如果需要,这些条应该增长);同时,还可以根据绑定(例如IsLeftTextVisible/IsRightTextVisible,名称无关紧要,我可以稍后更改)或即使绑定字段不包含文本,隐藏一个或两个条 我还真的希望橙色的酒吧更好一点;但是,如果有人能帮我达到我可以显示文本的程度,我(希望)应该能够从那里得到它 这里是代码,以产生什么,我有帮助设计WPF控件模板,wpf,wpf-controls,controltemplate,Wpf,Wpf Controls,Controltemplate,我正在尝试设计一个模板,用于Bing地图。我从基本模板开始,撕下了一些片段,又添加了一些片段,但是我把它弄得一团糟 我试图实现的是一个图钉,它的每一面都有一个工具提示,我可以在其中插入更多信息(尽管这些实际上不是工具提示;它们是基于绑定属性永久显示的)。类似于 正如你所看到的,我不是一个艺术家,也没有真正走得很远 有人能帮忙吗?我想要的是引脚两侧的橙色条能够包含基于绑定的文本(如果需要,这些条应该增长);同时,还可以根据绑定(例如IsLeftTextVisible/IsRightTextVis
<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="{x:Type m:Pushpin}">
<Grid Grid.Name="LayoutRoot"
FrameworkElement.Height="{TemplateBinding FrameworkElement.Height}"
FrameworkElement.Width="{TemplateBinding FrameworkElement.Width}">
<Canvas FrameworkElement.Height="35"
FrameworkElement.HorizontalAlignment="Left"
FrameworkElement.VerticalAlignment="Top"
FrameworkElement.Width="34">
<Path x:Name="CollectionTextPath"
Fill="{TemplateBinding Background}"
Data="M 0,20 H100 V-20 H-0"
Canvas.Left="20"
Stretch="Fill"
Width="100"
Height="18.905"
Canvas.Top="3.19"
RenderTransformOrigin="0.5,0.5" >
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Path.RenderTransform>
</Path>
<Path x:Name="DeliveryTextPath"
Fill="{TemplateBinding Background}"
Data="M 0,20 H100 V-20 H-0"
Canvas.Left="-81"
Stretch="Fill"
Width="100"
Height="18.905"
Canvas.Top="4.19"
RenderTransformOrigin="0.5,0.5" >
<Path.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="-1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Path.RenderTransform>
</Path>
<Path x:Name="Path_0"
Stretch="Fill"
StrokeLineJoin="Round"
Stroke="#FF333333"
Fill="#FFFFFFFF"
Data="F1M13.25,0.50001502C20.2917,0.50001502 26,6.2083602 26,13.25 26,17.817347 23.598524,21.823648 19.989363,24.075348 18.67861,25.105957 17.863953,27.531982 17.863953,27.531982L13.21736,39.595642 8.6221838,27.528591C8.6221838,27.528591 7.8198605,25.084908 6.6245556,24.145586 2.952121,21.907652 0.5,17.865215 0.5,13.25 0.5,6.2083602 6.2083402,0.50001502 13.25,0.50001502z"
UseLayoutRounding="False"
Height="39.694"
Width="26"
Canvas.Left="8.282"
Canvas.Top="0.001" />
<Ellipse Height="21"
Width="21"
Fill="{TemplateBinding Background}"
Canvas.Top="2.434"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Canvas.Left="10.806"
Stroke="{x:Null}" />
<Ellipse Height="18.905"
Width="18.905"
Canvas.Top="3.19"
Canvas.Left="11.911"
Stroke="{x:Null}">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="#00FFFFFF"
Offset="0.438" />
<GradientStop Color="#6EFFFFFF"
Offset="0.987" />
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<UIElement.RenderTransform>
<TransformGroup>
<TranslateTransform TranslateTransform.X="-4" />
</TransformGroup>
</UIElement.RenderTransform>
</Canvas>
<Grid FrameworkElement.HorizontalAlignment="Center"
FrameworkElement.VerticalAlignment="Top"
FrameworkElement.Margin="0,2,0,0"
FrameworkElement.Height="22"
FrameworkElement.Width="21">
<ContentPresenter ContentPresenter.Content="{TemplateBinding ContentControl.Content}"
FrameworkElement.HorizontalAlignment="Center"
FrameworkElement.VerticalAlignment="Center" />
</Grid>
</Grid>
</ControlTemplate>
<Style x:Key="{x:Type m:Pushpin}"
TargetType="{x:Type m:Pushpin}">
<Setter Property="Template"
Value="{StaticResource PushpinTemplate}" />
</Style>
</ResourceDictionary>
正如您可能收集到的,画布、网格和椭圆(看起来不错的部分)来自原始模板。然后我添加了这两个路径,但是我现在不知道如何将文本放入其中(如果我有地方放置文本,我可能可以毫无问题地绑定文本)
我知道这是一个小小的问题;但是,有没有人是一个有点图形化,可以让我向前一点请。任何帮助都将不胜感激。我已经充分扩展了布局