Per tutti gli stili in WPF, è necessario disporre di un dizionario risorse separato che contenga gli stili per la propria app.
Se si desidera avere una singola dimensione del carattere riutilizzata in tutta l'app, è sufficiente creare uno stile per quella dimensione del carattere. Puoi assegnargli un nome/una chiave univoci da usare esplicitamente oppure puoi impostare un targetType che trascenderà l'intera app.
esplicita chiave:
<Style
x:Key="MyFontSize"
TargetType="TextBlock">
<Setter
Property="FontSize"
Value="10" />
</Style>
<Control
Style="{StaticResource MyFontSize}" />
* Nota questo stile può essere utilizzato con i controlli che hanno contentPresenters
Per tutti TextBlocks in app:
<Style
TargetType="TextBlock">
<Setter
Property="FontSize"
Value="10" />
</Style>
<TextBlock
Text="This text will be size 10" />
fonte
2009-05-21 17:06:08
E se è necessario modificare la dimensione del carattere al volo, fare in modo che tutti loro sono dichiarati DynamicResource, sia negli stili e nei riferimenti di stile per "baseStyle". –
Seroiouslly? Ho provato a farlo e ottengo questo errore: Proprietà 'BaseOn' non supporta i valori di tipo 'DynamicResourceExtension'. Ho appena cambiato il codice da StaticResource a DynamicResource. Cosa pensi che manchi? – Carlo
Hai dimenticato questo piccolo problema. Abbiamo tutte le nostre dichiarazioni stabilite come setter dichiarati per controllo in modo da non avere enormi gerarchie. Questo post lo spiega abbastanza bene. http://stackoverflow.com/questions/585429/using-basedon-style-property-on-dynamicresources –