Skip to content

Commit

Permalink
Merge pull request #3682 from MahApps/Watermark_Storyboards
Browse files Browse the repository at this point in the history
Share watermark text message storyboards
  • Loading branch information
punker76 authored Nov 9, 2019
2 parents 4e7675f + ab49d3f commit 382a9c5
Show file tree
Hide file tree
Showing 6 changed files with 154 additions and 282 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@
<RichTextBox Margin="{StaticResource ControlMargin}"
Controls:TextBoxHelper.ButtonCommand="{Binding TextBoxButtonCmd, Mode=OneWay}"
Controls:TextBoxHelper.ButtonContent="s"
Controls:TextBoxHelper.Watermark="Type in..."
IsDocumentEnabled="True"
SpellCheck.IsEnabled="True"
Style="{StaticResource MahApps.Styles.RichTextBox.Button}" />
Expand Down
77 changes: 14 additions & 63 deletions src/MahApps.Metro/Styles/Controls.ComboBox.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,32 +20,6 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<ControlTemplate.Resources>
<Storyboard x:Key="enterGotFocus">
<DoubleAnimation Storyboard.TargetName="PART_Message"
Storyboard.TargetProperty="Opacity"
To=".2"
Duration="0:0:0.2" />
</Storyboard>
<Storyboard x:Key="exitGotFocus">
<DoubleAnimation Storyboard.TargetName="PART_Message"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.2" />
</Storyboard>

<Storyboard x:Key="enterHasText">
<DoubleAnimation Storyboard.TargetName="PART_Message"
Storyboard.TargetProperty="Opacity"
From=".2"
To="0"
Duration="0:0:0.2" />
</Storyboard>
<Storyboard x:Key="exitHasText">
<DoubleAnimation Storyboard.TargetName="PART_Message"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.2" />
</Storyboard>
</ControlTemplate.Resources>
<Grid Background="{TemplateBinding Background}">
<Grid x:Name="PART_InnerGrid">
<Grid.ColumnDefinitions>
Expand Down Expand Up @@ -184,19 +158,19 @@
<Condition Property="IsFocused" Value="True" />
</MultiTrigger.Conditions>
<MultiTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource enterGotFocus}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.EnterGotFocus}" />
</MultiTrigger.EnterActions>
<MultiTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource exitGotFocus}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.ExitGotFocus}" />
</MultiTrigger.ExitActions>
</MultiTrigger>

<Trigger Property="Controls:TextBoxHelper.HasText" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource enterHasText}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.EnterHasText}" />
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource exitHasText}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.ExitHasText}" />
</Trigger.ExitActions>
</Trigger>

Expand Down Expand Up @@ -295,32 +269,6 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBox}">
<ControlTemplate.Resources>
<Storyboard x:Key="enterGotFocus">
<DoubleAnimation Storyboard.TargetName="PART_WatermarkMessage"
Storyboard.TargetProperty="Opacity"
To=".2"
Duration="0:0:0.2" />
</Storyboard>
<Storyboard x:Key="exitGotFocus">
<DoubleAnimation Storyboard.TargetName="PART_WatermarkMessage"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.2" />
</Storyboard>

<Storyboard x:Key="enterHasText">
<DoubleAnimation Storyboard.TargetName="PART_WatermarkMessage"
Storyboard.TargetProperty="Opacity"
From=".2"
To="0"
Duration="0:0:0.2" />
</Storyboard>
<Storyboard x:Key="exitHasText">
<DoubleAnimation Storyboard.TargetName="PART_WatermarkMessage"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.2" />
</Storyboard>
</ControlTemplate.Resources>
<Grid>
<Border x:Name="Border"
Background="{TemplateBinding Background}"
Expand Down Expand Up @@ -406,7 +354,7 @@
Style="{StaticResource MahApps.Styles.TextBox.Editable}"
Visibility="Collapsed" />

<TextBlock x:Name="PART_WatermarkMessage"
<TextBlock x:Name="PART_Message"
Grid.Row="1"
Grid.Column="0"
Margin="4 0"
Expand Down Expand Up @@ -527,33 +475,36 @@
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsEditable}" Value="False" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItem}" Value="{x:Null}" />
</MultiDataTrigger.Conditions>
<Setter TargetName="PART_WatermarkMessage" Property="Visibility" Value="Visible" />
<Setter TargetName="PART_Message" Property="Visibility" Value="Visible" />
</MultiDataTrigger>

<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItem, Mode=OneWay, Converter={x:Static Converters:IsNullConverter.Instance}}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsKeyboardFocusWithin}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsEditable}" Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource enterGotFocus}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.EnterGotFocus}" />
</MultiDataTrigger.EnterActions>
<MultiDataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource exitGotFocus}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.ExitGotFocus}" />
</MultiDataTrigger.ExitActions>
</MultiDataTrigger>

<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItem, Mode=OneWay, Converter={x:Static Converters:IsNullConverter.Instance}}" Value="False" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsEditable}" Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource enterHasText}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.EnterHasText}" />
</MultiDataTrigger.EnterActions>
<MultiDataTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource exitHasText}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.ExitHasText}" />
</MultiDataTrigger.ExitActions>
</MultiDataTrigger>

<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsVisible, RelativeSource={RelativeSource Self}}" Value="True" />
Expand All @@ -572,7 +523,7 @@
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=(Controls:TextBoxHelper.ClearTextButton)}" Value="False">
<Setter TargetName="ContentSite" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="PART_EditableTextBox" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="PART_WatermarkMessage" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="PART_Message" Property="Grid.ColumnSpan" Value="2" />
</DataTrigger>
<Trigger Property="IsEditable" Value="True">
<Setter Property="IsTabStop" Value="false" />
Expand Down
49 changes: 4 additions & 45 deletions src/MahApps.Metro/Styles/Controls.DatePicker.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -222,47 +222,6 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DatePickerTextBox}">
<ControlTemplate.Resources>
<Storyboard x:Key="EnterGotFocus">
<DoubleAnimation Storyboard.TargetName="PART_Watermark"
Storyboard.TargetProperty="Opacity"
To=".2"
Duration="0:0:0.2" />
<DoubleAnimation Storyboard.TargetName="PART_Message"
Storyboard.TargetProperty="Opacity"
To=".2"
Duration="0:0:0.2" />
</Storyboard>
<Storyboard x:Key="ExitGotFocus">
<DoubleAnimation Storyboard.TargetName="PART_Watermark"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.2" />
<DoubleAnimation Storyboard.TargetName="PART_Message"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.2" />
</Storyboard>

<Storyboard x:Key="EnterHasText">
<DoubleAnimation Storyboard.TargetName="PART_Watermark"
Storyboard.TargetProperty="Opacity"
From=".2"
To="0"
Duration="0:0:0.2" />
<DoubleAnimation Storyboard.TargetName="PART_Message"
Storyboard.TargetProperty="Opacity"
From=".2"
To="0"
Duration="0:0:0.2" />
</Storyboard>
<Storyboard x:Key="ExitHasText">
<DoubleAnimation Storyboard.TargetName="PART_Watermark"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.2" />
<DoubleAnimation Storyboard.TargetName="PART_Message"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.2" />
</Storyboard>
</ControlTemplate.Resources>
<Grid x:Name="PART_InnerGrid">

<ScrollViewer x:Name="PART_ContentHost"
Expand Down Expand Up @@ -321,10 +280,10 @@
<Condition Property="IsFocused" Value="True" />
</MultiTrigger.Conditions>
<MultiTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource EnterGotFocus}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.EnterGotFocus.DatePickerTextBox}" />
</MultiTrigger.EnterActions>
<MultiTrigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource ExitGotFocus}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.ExitGotFocus.DatePickerTextBox}" />
</MultiTrigger.ExitActions>
</MultiTrigger>

Expand All @@ -334,10 +293,10 @@

<Trigger Property="Controls:TextBoxHelper.HasText" Value="True">
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource EnterHasText}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.EnterHasText.DatePickerTextBox}" />
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource ExitHasText}" />
<BeginStoryboard Storyboard="{StaticResource MahApps.Storyboard.ExitHasText.DatePickerTextBox}" />
</Trigger.ExitActions>
</Trigger>
</ControlTemplate.Triggers>
Expand Down
Loading

0 comments on commit 382a9c5

Please sign in to comment.