diff options
Diffstat (limited to 'Xamarin.Forms.Platform.WinRT.Tablet/FormsTextBoxStyle.xaml')
-rw-r--r-- | Xamarin.Forms.Platform.WinRT.Tablet/FormsTextBoxStyle.xaml | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/Xamarin.Forms.Platform.WinRT.Tablet/FormsTextBoxStyle.xaml b/Xamarin.Forms.Platform.WinRT.Tablet/FormsTextBoxStyle.xaml new file mode 100644 index 00000000..3e5f5646 --- /dev/null +++ b/Xamarin.Forms.Platform.WinRT.Tablet/FormsTextBoxStyle.xaml @@ -0,0 +1,257 @@ +<ResourceDictionary + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:winRt="using:Xamarin.Forms.Platform.WinRT"> + + <winRt:TextAlignmentToHorizontalAlignmentConverter x:Key="AlignmentConverter" /> + <Style TargetType="winRt:FormsTextBox" x:Key="FormsTextBoxStyle"> + <!-- This is adapted from the default styling for TextBox --> + + <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" /> + <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" /> + <Setter Property="Foreground" Value="{ThemeResource TextBoxForegroundThemeBrush}" /> + <Setter Property="Background" Value="{ThemeResource TextBoxBackgroundThemeBrush}" /> + <Setter Property="BorderBrush" Value="{ThemeResource TextBoxBorderThemeBrush}" /> + <Setter Property="SelectionHighlightColor" Value="{ThemeResource TextSelectionHighlightColorThemeBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource TextControlBorderThemeThickness}" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <Setter Property="PlaceholderForegroundBrush" Value="{ThemeResource TextBoxPlaceholderTextThemeBrush}" /> + <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden" /> + <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" /> + <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False" /> + <Setter Property="Padding" Value="{ThemeResource TextControlThemePadding}" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="winRt:FormsTextBox"> + <Grid> + <Grid.Resources> + <Style x:Name="DeleteButtonStyle" TargetType="Button"> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="Button"> + <Grid> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames + Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxButtonPointerOverBackgroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames + Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxButtonPointerOverBorderThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames + Storyboard.TargetName="GlyphElement" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxButtonPointerOverForegroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames + Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxButtonPressedBackgroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames + Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxButtonPressedBorderThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames + Storyboard.TargetName="GlyphElement" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxButtonPressedForegroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <DoubleAnimation + Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Opacity" + To="0" + Duration="0" /> + <DoubleAnimation Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="Opacity" + To="0" + Duration="0" /> + </Storyboard> + </VisualState> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <Border x:Name="BorderElement" + BorderBrush="{ThemeResource TextBoxButtonBorderThemeBrush}" + BorderThickness="{TemplateBinding BorderThickness}" /> + <Border x:Name="BackgroundElement" + Background="{ThemeResource TextBoxButtonBackgroundThemeBrush}" + Margin="{TemplateBinding BorderThickness}"> + <TextBlock x:Name="GlyphElement" + Foreground="{ThemeResource TextBoxButtonForegroundThemeBrush}" + VerticalAlignment="Center" + HorizontalAlignment="Center" + FontStyle="Normal" + Text="" + FontFamily="{ThemeResource SymbolThemeFontFamily}" + AutomationProperties.AccessibilityView="Raw" /> + </Border> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + </Grid.Resources> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="CommonStates"> + <VisualState x:Name="Disabled"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxDisabledBackgroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxDisabledBorderThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames + Storyboard.TargetName="PlaceholderTextContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" + Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Normal"> + <Storyboard> + <DoubleAnimation Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Opacity" + Duration="0" + To="{ThemeResource TextControlBackgroundThemeOpacity}" /> + <DoubleAnimation Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="Opacity" + Duration="0" + To="{ThemeResource TextControlBorderThemeOpacity}" /> + </Storyboard> + </VisualState> + <VisualState x:Name="PointerOver"> + <Storyboard> + <DoubleAnimation Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Opacity" + Duration="0" + To="{ThemeResource TextControlPointerOverBackgroundThemeOpacity}" /> + <DoubleAnimation Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="Opacity" + Duration="0" + To="{ThemeResource TextControlPointerOverBorderThemeOpacity}" /> + </Storyboard> + </VisualState> + <VisualState x:Name="Focused" /> + </VisualStateGroup> + <VisualStateGroup x:Name="ButtonStates"> + <VisualState x:Name="ButtonVisible"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="DeleteButton" + Storyboard.TargetProperty="Visibility"> + <DiscreteObjectKeyFrame KeyTime="0"> + <DiscreteObjectKeyFrame.Value> + <Visibility>Visible</Visibility> + </DiscreteObjectKeyFrame.Value> + </DiscreteObjectKeyFrame> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="ButtonCollapsed" /> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="Auto" /> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition Height="Auto" /> + <RowDefinition Height="*" /> + </Grid.RowDefinitions> + <Border x:Name="BackgroundElement" + Grid.Row="1" + Background="{TemplateBinding Background}" + Margin="{TemplateBinding BorderThickness}" + Grid.ColumnSpan="2" + Grid.RowSpan="1" /> + <Border x:Name="BorderElement" + Grid.Row="1" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" + Grid.ColumnSpan="2" + Grid.RowSpan="1" /> + <ContentPresenter x:Name="HeaderContentPresenter" + Grid.Row="0" + Foreground="{ThemeResource TextBoxForegroundHeaderThemeBrush}" + Margin="0,4,0,4" + Grid.ColumnSpan="2" + Content="{TemplateBinding Header}" + ContentTemplate="{TemplateBinding HeaderTemplate}" + FontWeight="Semilight" /> + <ScrollViewer x:Name="ContentElement" + Grid.Row="1" + HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" + HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" + VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" + VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" + IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" + IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" + IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" + Margin="{TemplateBinding BorderThickness}" + Padding="{TemplateBinding Padding}" + IsTabStop="False" + AutomationProperties.AccessibilityView="Raw" + ZoomMode="Disabled" /> + <!-- Converting the TextAlignment set for the control's input text to a HorizontalAlignment + so the PlaceholderText's alignment will match the input text --> + <ContentControl x:Name="PlaceholderTextContentPresenter" + Grid.Row="1" + Foreground="{TemplateBinding PlaceholderForegroundBrush}" + Margin="{TemplateBinding BorderThickness}" + Padding="{TemplateBinding Padding}" + IsTabStop="False" + Grid.ColumnSpan="2" + Content="{TemplateBinding PlaceholderText}" + IsHitTestVisible="False" + HorizontalAlignment="{Binding TextAlignment, + RelativeSource={RelativeSource Mode=TemplatedParent}, + Converter={StaticResource AlignmentConverter}}" /> + <Button x:Name="DeleteButton" + Grid.Row="1" + Style="{StaticResource DeleteButtonStyle}" + BorderThickness="{TemplateBinding BorderThickness}" + IsTabStop="False" + Grid.Column="1" + Visibility="Collapsed" + FontSize="{TemplateBinding FontSize}" + VerticalAlignment="Stretch" /> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + +</ResourceDictionary>
\ No newline at end of file |