ho dichiarato uno stile che voglio si applicano a tutti i pulsanti del progetto, lo stile risiede nel ResourceDictionary:Come sovrascrivere uno stile globale (che non ha una chiave x:) o in alternativa applicare uno stile con nome a tutti i controlli con targeting per tipo?
<Style TargetType="StackPanel">
<Setter Property="Orientation" Value="Horizontal" />
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
Ora, in qualche finestra, voglio ereditare da questo stile, ma aggiungere un valore :
<Style TargetType="StackPanel">
<Setter Property="Margin" Value="5"/>
</Style>
il problema è che non eredita dallo stile globale, al fine di ereditare devo assegnare un tasto per lo stile globale:
<Style TargetType="StackPanel" x:Key="StackPanelStyle" />
E poi nel ereditare della finestra XAML (e/o di esclusione - optional):
<Style TargetType="StackPanel" BasedOn="StackPanelStyle" />
Il problema è che se si assegna un tasto, non è globale e si deve chiamare su ogni finestra/portata.
Una soluzione alla mia domanda dovrebbe essere uno dei due (C'è qualcos'altro che mi manca fuori?):
- hanno uno stile globale con una chiave, che viene applicato automaticamente a tutti i suoi controlli mirati nell'intera applicazione.
- Un modo per fare riferimento allo stile senza nome ResourceDictionary senza ed eseguirne l'override.
ho pensato a redeclaring gli stili vicino gli stili di nome (nel ResourceDictionary), che funziona realmente:
<!--In the ResourceDictionary-->
<Style x:Key="StackPanelStyle" TargetType="StackPanel">
<Setter Property="Orientation" Value="Horizontal" />
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
<!--In the app.xaml-->
<Style TargetType="StackPanel" BasedOn="{StaticResource StackPanelStyle}"/>
<!--In the window/page scope-->
<Style TargetType="StackPanel" BasedOn="{StaticResource StackPanelStyle}"/
ma cerco per cose meglio di quanto stupidamente ridichiarare tutti gli stili.
Grazie amico, è stato breve, veloce e preciso! – Shimmy
Informazioni su questo in Silverlight? – MSNetDev
@MSNetDev Non uso Silverlight, ma per quanto ne so dovrebbe funzionare anche lì. – Botz3000