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
Configurare lo startup di applicazioni server e client con .NET Aspire
Utilizzare Azure AI Studio per testare i modelli AI
Utilizzare Copilot con Azure Cosmos DB
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Usare il colore CSS per migliorare lo stile della pagina
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Configurare e gestire sidecar container in Azure App Service
Gestione degli stili CSS con le regole @layer
Ordinare randomicamente una lista in C#
Filtering sulle colonne in una QuickGrid di Blazor
Change tracking e composition in Entity Framework
I più letti di oggi
- Recuperare l'ultima versione di una release di GitHub
- Rendere i propri workflow e le GitHub Action utilizzate più sicure
- Disabilitare le run concorrenti di una pipeline di Azure DevOps
- Gestione dei nomi con le regole @layer in CSS
- Introduzione alle Container Queries in CSS
- Fornire parametri ad un Web component HTML
- Visual Studio Live: what's next - Online
- .NET Conference Italia 2021 - Online
- ASP.NET MVC Release Candidate 2