2009-11-20 12 views
8

Czy istnieje sposób na stworzenie stylu, który rozszerza obecny styl, tj. Nie jest to określony styl?Prąd w stylu WPF

Mam aplikację WPF, w której tworzę style, aby ustawić pewne właściwości, takie jak ramki lub sprawdzanie poprawności.

<Style TargetType="{x:Type Button}" 
      BasedOn="{StaticResource {x:Type Button}}"> 
     <Setter Property="Padding" Value="5,2,5,2"/> 
    </Style> 

Teraz chcę wypróbować niektóre motywy, aby zobaczyć, który z nich najlepiej pasuje do mojej aplikacji. Problem polega na tym, że muszę zmienić właściwość BasedOn we wszystkich moich stylach na styl w temacie.

<Style TargetType="{x:Type Button}" 
      BasedOn="="{x:Static ns:SomeTheme.ButtonStyle}">"> 
     <Setter Property="Padding" Value="5,2,5,2"/> 
    </Style> 

Mogę to zrobić poprzez wyszukiwanie/zamianę, ale byłoby miło, gdyby można to było zrobić dynamicznie.

Odpowiedz

5

Musisz zrobić to tylko w ten sposób, nie ma na to skrótu, musisz ustawić atrybut BasedOn co najmniej.

-3

Czy próbowałeś DynamicResource zamiast StaticResource.

+0

komunikat o błędzie: "Własność 'BasedOn' nie obsługuje wartości typu 'DynamicResourceExtension'" – adrianm

Powiązane problemy