Il Controllo Map, mutuato dal controllo Bing Map per Silverlight, e distribuito per Windows Phone mediante l'SDK ufficiale, offre un elevato livello di pesonalizzazione dei PushPin.
I PushPin indicano l'esatta posizione di una coordinata ed il loro aspetto predefinito è semplice e non mostra molte informazioni.
Trattandosi di un controllo a tutti gli effetti, è posibile personalizzarne l'aspetto con un Style e poche righe di XAML.
<map:Pushpin Location="{Binding Coordinate}"
Content="{Binding Position}"
Template="{StaticResource MyPushpinControlTemplate}"/>
<ControlTemplate x:Key="MyPushpinControlTemplate" TargetType="map:Pushpin">
<Grid>
<Image HorizontalAlignment="Center"
Source="/Images/pushpin_raw.png"
Stretch="None"
VerticalAlignment="Center"/>
<ContentPresenter Content="{TemplateBinding Content}"
VerticalAlignment="Center" HorizontalAlignment="Center"
ContentTemplate="{TemplateBinding ContentTemplate}"/>
</Grid>
</ControlTemplate>
Il markup è molto semplice: il Content, impostato mediante data binding, mostra il proprio contenuto allineato centralmente rispetto ad un'immagine di sfondo.
Nel nostro caso, il markup è volutamente semplice, ma può diventare complesso per modellarsi perfettamente alle esigenze dell'applicazione.
Il risultato che si può ottenere è visibile in questa immagine:

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Introduzione a GitHub Copilot CLI
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Rendere affidabile lo scale out su Azure App Service
Le cron expression di un workflow di GitHub
Ciclo di vita risorse con .NET Aspire
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Mischiare codice server side e client side in una query LINQ con Entity Framework
Configurare automaticamente un webhook in Azure DevOps
Gestire progetti NPM in .NET Aspire
Utilizzare WebJobs su Linux con Azure App Service
Utilizzare il Null conditional assignment di C# 14




