Ich fange gerade an mich in wpf einzuarbeiten.
Meine frage ist:
Wie kann ich die Farbe des "Button" mittels DataBinding(im GradientStop) auf sichselbst referenzieren lassen sodass beim Klicken des Buttons dieser sich in Gelb->Rot färbt?
Danke im vorraus
XML:
<Window.Resources>
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="Border"
Background="Green"
BorderBrush="Black"
BorderThickness="1"
Padding="5,5,5,10">
<ContentPresenter Margin="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
RecognizesAccessKey="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Border" Property="Background" Value="Yellow" />
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="Border" Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
<GradientStop Offset="0.0" Color="{Binding Path=Background, RelativeSource={RelativeSource self}}" />
<GradientStop Offset="0.9" Color="Red" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid Width="391"
Height="175"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<StackPanel>
<Button Name="submitName"
Content="View message"
Background="AliceBlue"
Padding="10,10,10,20"/>
<Button Name="submi4Name"
Background="Beige"
Content="View message"
Padding="10,10,10,20" />
</StackPanel>
</Grid>
Hallo,
du kannst es mal mit RelativeSource und FindAncestor versuchen
ich habe z.B. folgendes Konstrukt.
<Window.Resources>
<DataTemplate x:Key="SomeThing">
<Grid DataContext="{Binding RelativeSource=
{RelativeSource Mode=FindAncestor, AncestorType=
{x:Type Grid}}, Path=DataContext}" Focusable="False" >
MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden!
*"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht."
*"Ignorance simplifies ANY problem."
*"Stoppt die Piraterie der Musikindustrie"
Hallo ProGamer,
Danke hab vorhin bemerkt das sobald ich mich in dem LinearGradientBrush befinde die Backgroundeigenschaft sich schon geändert hat.
prinzipiell ist ein Button, der beim Klicksen seine Farbe wechselt, ein ToggleButton.
Damit sollteste das eiglich hinkriegen.
Der frühe Apfel fängt den Wurm.