2010-11-09 16 views

risposta

85

Il Style si è creato è solo mira Control e non gli elementi che derivano da Control. Quando non si imposta x:Key è implicitamente impostato su TargetType, quindi nel proprio caso x:Key="{x:Type Control}".

Non esiste un modo diretto per specificare uno Style che indirizzi tutti gli elementi che derivano dallo TargetType dello Style. Hai alcune altre opzioni.

Se avete il seguente Style

<Style x:Key="ControlBaseStyle" TargetType="{x:Type Control}"> 
    <Setter Property="Margin" Value="50" /> 
</Style> 

È possibile indirizzare tutti Buttons ad esempio

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ControlBaseStyle}"/> 

o utilizzare lo stile direttamente su qualsiasi elemento, ad esempio Button

<Button Style="{StaticResource ControlBaseStyle}" ...> 
+3

grazie! Esattamente quello di cui avevo bisogno! – 00jt

+0

Mi chiedevo perché il mio stile con un tipo di target di "FrameworkElement" non fosse applicato a tutti i miei controlli - questo ha risposto a questa domanda! – qJake

+0

È davvero così schifoso, che devo specificare lo stile per tutti i tipi di controlli posizionati sulla finestra, non solo per qualche cosa di root comune a tutti ??? –

Problemi correlati