Quando dovrei scegliere Style.Triggers
e quando dovrei scegliere ControlTemplate.Triggers
? Ci sono dei vantaggi nell'usare l'uno rispetto all'altro?Style.Triggers vs ControlTemplate.Triggers
Dire che ho questi stili che ottengono lo stesso risultato:
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<ControlTemplate.Triggers>
...
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
...
</Setter>
<Style.Triggers>
...
</Style.Triggers>
</Style>
Per me, questo non sovrascrive lo stile di modello predefinito –
@CoolBlue A destra, il codice qui lascerà intatto il modello predefinito. Se dovessi utilizzare il codice dalla domanda, ignorerai il valore predefinito. –
ShyKnee
Sì, il mio punto è che, a causa della precedenza, insieme ai cambiamenti da Windows 8, il codice precedente non funziona più e questo è _because_ il modello non è sovrascritto dallo stile. La cosa migliore in questi giorni è fare clic con il tasto destro del mouse sul controllo e seguire le opzioni per modificare una copia dello stile predefinito. VS2013 fornisce questo fuori dalla scatola. –