我需要在 BingMap 控件上添加一个或多个带有自定义静态图像和文本的图钉,这些图钉是在代码中设置的。这是我的图钉模板:
<ControlTemplate x:Key="PushpinTemplate" TargetType="maps:Pushpin">
<Grid x:Name="ContentGrid"
Width="39"
Height="48">
<Image Source="Images/pin.png" Stretch="None"/>
<TextBlock Text="Text" />
</Grid>
</ControlTemplate>
如何使属性 TextBlock.Text 可以通过编程方式更改?假设将其绑定到属性 Pushpin.Content。谢谢。
通过动态生成控件模板来解决。
private ControlTemplate CreateTemplate(string image, string text)
{
string xaml = "<ControlTemplate xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:maps="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps" TargetType="maps:Pushpin"><Grid x:Name="ContentGrid" Width="39" Height="48"><Image Source="" + image + "" Stretch="None"/><TextBlock Margin="14,2,0,0" FontSize="20" Text="" + text + "" /></Grid></ControlTemplate>";
ControlTemplate сt = (ControlTemplate)XamlReader.Load(xaml);
return сt;
}