In WinRT abbiamo la possibilità di accedere a risorse come immagini e file in diverse modalità, sia programmaticamente che direttamente nel markup.
Tali risorse possono risiedere su:
- Web;
- Package dell'app;
- Application state;
Quando vogliamo visualizzare un'immagine remota è sufficiente utilizzare il suo URL, come siamo abituati a fare solitamente:
<Image Source="http://gui.aspitalia.com/images/winrtitalia/winrtitalia.png"/>
Per le risorse residenti all'interno del package dell'app abbiamo più possibilità, usare un percorso relativo al file xaml chiamante:
<Image Source="Images/winrtitalia.png"/>
Utilizzare un percorso assoluto rispetto al package stesso (semplicemente con lo "/" iniziale):
<Image Source="/Images/winrtitalia.png"/>
Oppure specificando nel path il nome di un assembly in cui è residente il file, referenziato al progetto:
<Image Source="/ClassLibrary1/Images/winrtitalia.png"/>
Quando abbiamo la necessità di referenziare un file da codice non assimilabile ad uno specifico URI, ad esempio una libreria o un IValueConverter, possiamo utilizzare lo schema ms-appx che ci permette di raggiungere sempre quei file presenti all'interno del package:
<Image Source="ms-appx:///Images/winrtitalia.png"/>
return string.Format("ms-appx:///Assets/up{0}.png", parameter);
In WinRT, inoltre, abbiamo a disposizione tre tipologie di cartelle legate all'applicazione:
- LocalFolder: è una cartella locale del device su cui è installata l'app;
-TemporaryFolder: è una cartella locale come LocalFolder, ma il suo contenuto può essere cancellato indeterministicamente dal sistema operativo in caso di assenza di spazio;
- RoamingFolder: è una cartella remota condivisa da tutti i device dell'utente su cui ha installato l'app.
Possiamo accedere ai file residenti in queste cartelle usando lo schema ms-appdata con l'utilizzo nel path di, rispettivamente, local, temp e roaming:
<Image Source="ms-appdata:///local/Images/winrtitalia.png"/>
<Image Source="ms-appdata:///temp/Images/winrtitalia.png"/>
<Image Source="ms-appdata:///roaming/Images/winrtitalia.png"/>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Potenziare la ricerca su Cosmos DB con Full Text Search
Recuperare l'ultima versione di una release di GitHub
Creare agenti facilmente con Azure AI Agent Service
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Creare una libreria CSS universale - Rotazione degli elementi
Cancellare una run di un workflow di GitHub
Creare una libreria CSS universale: i bottoni
Combinare Container Queries e Media Queries
Eseguire script pre e post esecuzione di un workflow di GitHub
Generare un hash con SHA-3 in .NET
Gestire gli accessi con Token su Azure Container Registry