2010-11-09 6 views

Odpowiedz

85

Style utworzony jest kierowana tylko Control i elementów, które nie wynikają z Control. Jeśli nie ustawisz x:Key, zostanie domyślnie ustawiony na TargetType, tak w Twoim przypadku x:Key="{x:Type Control}".

Nie istnieje żaden bezpośredni sposób określenia wartości Style, która dotyczy wszystkich elementów pochodzących z TargetType z Style. Masz kilka innych opcji.

Jeśli masz następujące Style

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

można kierować wszelkie Buttons np

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

lub użyj styl bezpośrednio na dowolnym elemencie, np Button

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

dziękuję! Dokładnie to, czego potrzebowałem! – 00jt

+0

Zastanawiam się, dlaczego mój styl z typem docelowym 'FrameworkElement' nie został zastosowany do wszystkich moich kontrolek - odpowiedź na to pytanie! – qJake

+0

Czy to naprawdę takie brednie, że muszę określić styl dla wszystkich typów elementów sterujących umieszczonych na oknie, a nie tylko dla jakiegoś pierwiastka wspólnego dla wszystkich ??? –