5
Ich habe es so gemacht:Wie Steuervorlage von Style.Triggers ändern
<Style x:Key="Button" BasedOn="{StaticResource LoginButton}" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Border CornerRadius="4">
<Border.Background>
<LinearGradientBrush EndPoint="0,1">
<GradientStop Offset="0" Color="#0863a5" />
<GradientStop Offset="1" Color="#00457d" />
</LinearGradientBrush>
</Border.Background>
</Border>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Border CornerRadius="4">
<Border.Background>
<LinearGradientBrush EndPoint="0,1">
<GradientStop Offset="0" Color="#508fbd" />
<GradientStop Offset="1" Color="#397ab0" />
</LinearGradientBrush>
</Border.Background>
</Border>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
Gibt es einen besseren Weg, dies zu tun? Ich habe Szenarien, in denen meine Steuerelementvorlage mehr Codezeilen enthält und ich nur einen einzelnen Stil wie BorderBrush oder etwas ändern müsste. Wie kann ich die Kontrollvorlage von Style.Triggers effizient ändern?
Hoppla! Ich kannte ControlTemplate auch nicht mit Triggern. Cool :-) – Raj
was ist, wenn er eine komplett andere Vorlage für seine Kontrolle wollte? –