Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

I resource dictionary in Xamarin.Forms

La versione 2.3.0.49 di Xamarin.Forms ha introdotto il supporto ai resource dictionary, che ci consentono di separare e riutilizzare risorse di tipo XAML come gli stili.

Non vi aspettate quanto potete avere con WPF o UWP... ma almeno è già qualcosa. Per creare un resource dictionary devo:

1. Aggiungere una nuova ContentPage XAML al progetto
2. Cambiare l'elemento radice da ContentPage a ResourceDictionary.
3. Nel code-behind, togliere l'ereditarietà da ContentPage.
4. Mettere le risorse di mio interesse all'interno del dizionario così ottenuto.

In altre parole, nello XAML una cosa di questo tipo:

<?xml version="1.0" encoding="utf-8" ?>
<ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms" 
                    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                     x:Class="DelSole.XamUtilities.Styles.SharedResources">
 
  <!-- Sample resource -->
  <Style x:Key="baseStyle" TargetType="Label">
    <Setter Property="FontSize" Value="Small" />
    <Setter Property="FontAttributes" Value="Italic" />
  </Style>
 
</ResourceDictionary>

Mentre in C#, questo:

public partial class SharedResources
{
    public SharedResources()
    {
        InitializeComponent();
    }
}

Utilizzare un resource dictionary richiede poi, nella pagina in cui lo si utilizza, la dichiarazione dell'elemento ResourceDictionary all'interno delle Resources, unitamente alla parola risevata MergedWith a cui passo:

1. un namespace XML che punta all'assembly o namespace in cui è definito lo stile
2. il nome del dictionary

  <ContentPage.Resources>
    <ResourceDictionary MergedWith="styles:SharedResources" />
  </ContentPage.Resources>

Un esempio di tutto questo è disponibile in XamUtilities, la libreria che ho pubblicato recentemente e di cui vi ho parlato ieri.

Alessandro

Print | posted on martedì 27 settembre 2016 00:00 | Filed Under [ Xamarin ]

Powered by:
Powered By Subtext Powered By ASP.NET