Ereditarietà degli Style in Silverlight

di Alessio Leoncini, in Silverlight,

Silverlight permette la definizione di Style che definiscano le varie proprietà visuali di un controllo.

<Style x:Key="BaseStyle" TargetType="Button">
  <Setter Property="Background" Value="Red" />
  <Setter Property="Foreground" Value="Red" />
</Style>

Uno Style può essere definito all'interno delle Resources di un oggetto, di uno UserControl o di tutta l'applicazione, in modo che sia accessible attraverso chiave corrispondente e la markup extension StaticResource nel relativo ambito di utilizzo, appunto oggetto, UserControl o applicazione.

Attraverso la proprietà BasedOn si può impostare un altro Style che ne definisca quelle proprietà di base; anche tale Style può essere definito attraverso StaticResource e una chiave.

<Style x:Key="GreenStyle" TargetType="Button" BasedOn="{StaticResource BaseStyle}">
  <Setter Property="Foreground" Value="Green" />
</Style>

Lo Style deve comunque condividere lo stesso TargetType dello Style da cui eredita; qualora uno Style imposti una proprietà già presente nello Style di base, questa viene ridefinita ed il suo valore diventa il corrente.
Ecco un esempio ed il risultato:

<Button Content="SilverlightItalia" />
<Button Content="SilverlightItalia" Style="{StaticResource BaseStyle}" />
<Button Content="SilverlightItalia" Style="{StaticResource GreenStyle}" />

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi