diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-06-25 18:03:20 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-06-25 18:03:20 +0300 |
| commit | 50eb2f5147af4387f807872ae81dd50dfedbb86e (patch) | |
| tree | c731631d80bfd0b8a8eeb7a4546f5648b9634a9f /Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml | |
| parent | c8890c60c3ee1d9f33606d272fdc45e6f7f5ef3f (diff) | |
| download | Tango-50eb2f5147af4387f807872ae81dd50dfedbb86e.tar.gz Tango-50eb2f5147af4387f807872ae81dd50dfedbb86e.zip | |
Working on PPC!!!
Diffstat (limited to 'Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml')
| -rw-r--r-- | Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml b/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml new file mode 100644 index 000000000..4d37ce1fd --- /dev/null +++ b/Software/Visual_Studio/Tango.Touch/Controls/TouchNumericTextBox.xaml @@ -0,0 +1,119 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:keyboard="clr-namespace:Tango.Touch.Keyboard" + xmlns:components="clr-namespace:Tango.Touch.Components" + xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI" + xmlns:localConverters="clr-namespace:Tango.Touch.Converters" + xmlns:local="clr-namespace:Tango.Touch.Controls"> + + <ResourceDictionary.MergedDictionaries> + <ResourceDictionary Source="../Resources/Colors.xaml" /> + </ResourceDictionary.MergedDictionaries> + + <converters:StringNullOrEmptyToBooleanConverter x:Key="StringNullOrEmptyToBooleanConverter" /> + <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" /> + <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" /> + <converters:MathOperatorConverter x:Key="MathOperatorConverter" /> + <localConverters:NumericTextBoxIntegerConverter x:Key="NumericTextBoxIntegerConverter" /> + <localConverters:NumericTextBoxDoubleConverter x:Key="NumericTextBoxDoubleConverter" /> + + <Style TargetType="{x:Type local:TouchNumericTextBox}"> + <Setter Property="Foreground" Value="{StaticResource TangoDarkForegroundBrush}"></Setter> + <Setter Property="Focusable" Value="False"></Setter> + <Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter> + <Setter Property="KeyboardMode" Value="Integer"></Setter> + <Setter Property="FocusSelectionMode" Value="SelectAll"></Setter> + <Setter Property="keyboard:KeyboardView.Mode" Value="{Binding RelativeSource={RelativeSource Self},Path=KeyboardMode}"></Setter> + <Setter Property="keyboard:KeyboardView.Action" Value="{Binding RelativeSource={RelativeSource Self},Path=KeyboardAction}"></Setter> + <Setter Property="keyboard:KeyboardView.Container" Value="{Binding RelativeSource={RelativeSource Self},Path=KeyboardContainer}"></Setter> + <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"></Setter> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type local:TouchNumericTextBox}"> + <Border Background="{TemplateBinding Background}" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" keyboard:KeyboardView.Container="{TemplateBinding KeyboardContainer}"> + <DockPanel> + <Border DockPanel.Dock="Bottom" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:TouchNumericTextBox},Path=(Validation.HasError),Converter={StaticResource BooleanToVisibilityConverter}}"> + <Canvas> + <TextBlock FontSize="12" Foreground="{StaticResource TangoValidationErrorBrush}" Margin="0 5 0 0" TextWrapping="Wrap" Text="{Binding RelativeSource={RelativeSource AncestorType=local:TouchNumericTextBox},Path=(Validation.Errors).CurrentItem.ErrorContent}"></TextBlock> + </Canvas> + </Border> + <DockPanel> + <Grid DockPanel.Dock="Bottom" Height="2"> + <Rectangle Height="1" Fill="{StaticResource TangoTextWatermarkBrush}" /> + <Rectangle Height="2" RenderTransformOrigin="0.5,0.5" > + <Rectangle.Style> + <Style TargetType="Rectangle"> + <Setter Property="Fill" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter> + <Setter Property="RenderTransform"> + <Setter.Value> + <ScaleTransform ScaleY="1" ScaleX="0" /> + </Setter.Value> + </Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding ElementName=PART_TextBox,Path=IsFocused}" Value="True"> + <DataTrigger.EnterActions> + <BeginStoryboard> + <Storyboard> + <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" To="1" Duration="00:00:0.4" /> + </Storyboard> + </BeginStoryboard> + </DataTrigger.EnterActions> + <DataTrigger.ExitActions> + <BeginStoryboard> + <Storyboard> + <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" To="0" Duration="00:00:0.4" /> + </Storyboard> + </BeginStoryboard> + </DataTrigger.ExitActions> + </DataTrigger> + <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=local:TouchNumericTextBox},Path=(Validation.HasError)}" Value="True"> + <Setter Property="Fill" Value="{StaticResource TangoValidationErrorBrush}"></Setter> + <Setter Property="RenderTransform"> + <Setter.Value> + <ScaleTransform ScaleY="1" ScaleX="1" /> + </Setter.Value> + </Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </Rectangle.Style> + </Rectangle> + </Grid> + + <Grid> + <components:Ripple RippleBrush="{StaticResource TangoRippleDarkBrush}" RippleFactor="15"> + <Grid> + <TextBox HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Foreground="{TemplateBinding Foreground}" Padding="0 0 0 4" CaretBrush="{StaticResource TangoPrimaryAccentBrush}" FocusVisualStyle="{x:Null}" x:Name="PART_TextBox" BorderThickness="0" Background="Transparent"> + <TextBox.Style> + <Style TargetType="TextBox"> + <Setter Property="Opacity" Value="0"></Setter> + <Style.Triggers> + <Trigger Property="IsFocused" Value="True"> + <Setter Property="Opacity" Value="1"></Setter> + </Trigger> + </Style.Triggers> + </Style> + </TextBox.Style> + </TextBox> + <TextBlock x:Name="PART_TextDisplay" IsHitTestVisible="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Foreground="{TemplateBinding Foreground}" Padding="0 0 0 4" FocusVisualStyle="{x:Null}" Visibility="{Binding ElementName=PART_TextBox,Path=IsFocused,Converter={StaticResource BooleanToVisibilityInverseConverter}}"></TextBlock> + </Grid> + </components:Ripple> + + + </Grid> + </DockPanel> + </DockPanel> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <Trigger Property="HasDecimalPoint" Value="True"> + <Setter Property="KeyboardMode" Value="Float"></Setter> + </Trigger> + </Style.Triggers> + </Style> + +</ResourceDictionary>
\ No newline at end of file |
