2009-10-30 6 views
8

Quando si crea uno stile, è possibile impostare la proprietà ControlTemplate su una risorsa precedentemente definita? Per esempio, se ho avuto la segue in un ResourceDictionary:WPF - Utilizzare una risorsa ControlTemplate all'interno di uno stile

<ControlTemplate x:Key="MyControlTemplate" TargetType="{x:Type Button}"> 
... 
</ControlTemplate> 

E poi voleva usarlo in uno stile come questo:

<Style x:Key="MyStyle" TargetType="{x:Type Button}"> 
    <Setter Property="Template" Value="???"/> 
</Style> 

è possibile?

risposta

10

Credo che questo funzionerà:

<Style x:Key="MyStyle" TargetType="{x:Type Button}">  
    <Setter Property="Template" Value="{StaticResource MyControlTemplate}"/> 
</Style> 
+10

La parte importante è che il modello deve essere definito prima lo stile. Altrimenti è _XamlParseException: impossibile trovare una risorsa con il nome/la chiave YourTemplateKey_ –