Hallo allerseits.
Zu aller erst muss ich mal sagen, WPF ist noch ziemliches Neuland für mich. Deswegen häng ich hier glaube ich an was, das wahrscheinlich recht einfach umzusetzen ist, aber ich habs jetzt auch nach einigem Suchen nicht hinbekommen.
Aber jetzt mal zu meinem Problem. Ich habe in meinem MainWindow eine neue Property angelegt, sie sieht so aus:
Nun habe ich über XAML einen Style für alle Buttons angelegt, dieser sieht so aus (ich hab die unwichtigen Stellen ausgelassen):
Ich möchte nun, dass das Label (Zeile 8) sichtbar (Visibility = Visible) wird, sobald "ScrolledOut" true wird und umgekehrt.
Mit einem normalen Trigger geht das nicht, deswegen hab ich folgendes ausprobiert:
Und diesen Syle dann auf das Label angewendet:
Wobei "MyWindow" eben der Name des Fensters ist.
Das kompiliert auch ohne Fehler, allerdings passiert gar nichts.
Weiß jemand, woran das liegt, oder ob ich generell einen ganz anderen Ansatz wählen sollte?
Zu aller erst muss ich mal sagen, WPF ist noch ziemliches Neuland für mich. Deswegen häng ich hier glaube ich an was, das wahrscheinlich recht einfach umzusetzen ist, aber ich habs jetzt auch nach einigem Suchen nicht hinbekommen.
Aber jetzt mal zu meinem Problem. Ich habe in meinem MainWindow eine neue Property angelegt, sie sieht so aus:
Nun habe ich über XAML einen Style für alle Buttons angelegt, dieser sieht so aus (ich hab die unwichtigen Stellen ausgelassen):
XML-Quellcode
- <Style x:Key="ButtonStyle" TargetType="{x:Type Button}">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Grid Margin="0,10,0,10">
- <!-- weiterer Code -->
- <Label Grid.Row="1" Content="{TemplateBinding Content}" FontSize="16" HorizontalAlignment="Center" Foreground="White" FontWeight="Light" Visibility="Hidden"/>
- </Grid>
- <!-- weiterer Code -->
- </Grid>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
Mit einem normalen Trigger geht das nicht, deswegen hab ich folgendes ausprobiert:
XML-Quellcode
- <Style x:Key="HideOnScolledOut" TargetType="{x:Type Label}">
- <Style.Triggers>
- <DataTrigger Binding="{Binding ScrolledOut}" Value="True">
- <Setter Property="Visibility" Value="Visible" />
- </DataTrigger>
- <DataTrigger Binding="{Binding ScrolledOut}" Value="False">
- <Setter Property="Visibility" Value="Hidden" />
- </DataTrigger>
- </Style.Triggers>
- </Style>
Das kompiliert auch ohne Fehler, allerdings passiert gar nichts.
Weiß jemand, woran das liegt, oder ob ich generell einen ganz anderen Ansatz wählen sollte?