如何在cs文件中使用fontello图标?

时间:2014-08-13 09:29:35

标签: c# xaml visual-studio-2012 windows-phone fontello

我想在Windows手机应用程序中添加fontello图标动态映射。我不知道该怎么做。我可以在地图上添加一些形状,但我不知道如何添加fontello图标而不是椭圆。

public void pushPin(Microsoft.Phone.Maps.Controls.Map map, GeoCoordinate position)
    {

        map.Center = position;
        map.ZoomLevel = 9;

        Ellipse myCircle = new Ellipse();
        myCircle.Fill = new SolidColorBrush(Colors.Blue);
        myCircle.Height = 15;
        myCircle.Width = 15;
        myCircle.Opacity = 20;

        var mapOverLay = new MapOverlay();
        mapOverLay.Content = myCircle;

        mapOverLay.GeoCoordinate = position;

        var mapLayer = new MapLayer();
        mapLayer.Add(mapOverLay);

        map.Layers.Add(mapLayer);

       } 

map with fontello icons

1 个答案:

答案 0 :(得分:1)

您需要使用TextBlock作为MapOverlay内容,并将其fontfamily设置为您的字体和文本,以使您想要使用的符号的unicode值。

假设您将字体文件fontello.ttf保留在根目录下,则应执行以下代码:

public void pushPin(Microsoft.Phone.Maps.Controls.Map map, GeoCoordinate position)
{

    map.Center = position;
    map.ZoomLevel = 9;

    TextBlock tb = new TextBlock();
    tb.FontFamily = new FontFamily("/fontello.ttf#fontello");
    tb.Text = "\uE800";

    var mapOverLay = new MapOverlay();
    mapOverLay.Content = tb;

    mapOverLay.GeoCoordinate = position;

    var mapLayer = new MapLayer();
    mapLayer.Add(mapOverLay);

    map.Layers.Add(mapLayer);  

}

希望它有所帮助。