Ereditarietà degli Style 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}" />








