125 строки
8.8 KiB
XML
125 строки
8.8 KiB
XML
<ResourceDictionary
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:forms="using:Xamarin.Forms.Platform.WinRT"
|
|
xmlns:system="using:System">
|
|
|
|
<forms:TextAlignmentToHorizontalAlignmentConverter x:Key="AlignmentConverter" />
|
|
|
|
<Style x:Key="FormsTextBoxStyle" TargetType="forms:FormsTextBox">
|
|
<Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}"/>
|
|
<Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}"/>
|
|
<Setter Property="Foreground" Value="{ThemeResource TextBoxForegroundThemeBrush}"/>
|
|
<Setter Property="SelectionHighlightColor" Value="{ThemeResource TextSelectionHighlightColorThemeBrush}"/>
|
|
<Setter Property="Background" Value="{ThemeResource TextBoxBackgroundThemeBrush}"/>
|
|
<Setter Property="BackgroundFocusBrush" Value="{ThemeResource TextBoxFocusedBackgroundThemeBrush}"/>
|
|
<Setter Property="BorderBrush" Value="{ThemeResource TextBoxBorderThemeBrush}"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
|
|
<Setter Property="FontSize" Value="{ThemeResource ContentControlFontSize}"/>
|
|
<Setter Property="PlaceholderForegroundBrush" Value="{ThemeResource TextBoxPlaceholderTextThemeBrush}" />
|
|
<Setter Property="TextWrapping" Value="NoWrap"/>
|
|
<Setter Property="ScrollViewer.HorizontalScrollMode" Value="Auto"/>
|
|
<Setter Property="ScrollViewer.VerticalScrollMode" Value="Auto"/>
|
|
<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="Margin" Value="0"/>
|
|
<Setter Property="VerticalAlignment" Value="Top"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="forms:FormsTextBox">
|
|
<Grid Background="Transparent">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="CommonStates">
|
|
<VisualState x:Name="Disabled">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="BorderElement">
|
|
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledBackgroundThemeBrush}"/>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="BorderElement">
|
|
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledBorderThemeBrush}"/>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentElement">
|
|
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}"/>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ContentElement">
|
|
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledBackgroundThemeBrush}" />
|
|
</ObjectAnimationUsingKeyFrames>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="PlaceholderTextContentPresenter">
|
|
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledForegroundThemeBrush}"/>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="HeaderContentPresenter">
|
|
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextBoxDisabledHeaderForegroundThemeBrush}"/>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="Normal">
|
|
<Storyboard>
|
|
<DoubleAnimation Duration="0" To="{ThemeResource TextControlBorderThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="BorderElement"/>
|
|
</Storyboard>
|
|
</VisualState>
|
|
<VisualState x:Name="Focused">
|
|
<Storyboard>
|
|
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="BorderElement">
|
|
<DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextSelectionHighlightColorThemeBrush}"/>
|
|
</ObjectAnimationUsingKeyFrames>
|
|
<DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PlaceholderTextContentPresenter"/>
|
|
<!-- The commented-out section below *should* work, at least according to the docs and examples; but
|
|
instead it just crashes the application as soon as you focus a textbox. So the forms textbox class handles this
|
|
state manually in the phone version. I'm leaving this here in case someone can figure it out, because the VSM
|
|
is a much more elegant solution. (e.g., see the UWP project, where this *does* work) -->
|
|
<!--<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="BorderElement">
|
|
<DiscreteObjectKeyFrame KeyTime="0" Value="{Binding BackgroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
</ObjectAnimationUsingKeyFrames>-->
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
<Border x:Name="BorderElement"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
Background="{TemplateBinding Background}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Grid.Row="1"/>
|
|
<ContentPresenter x:Name="HeaderContentPresenter"
|
|
ContentTemplate="{TemplateBinding HeaderTemplate}"
|
|
Content="{TemplateBinding Header}"
|
|
Margin="{ThemeResource TextControlHeaderMarginThemeThickness}"
|
|
Grid.Row="0" Style="{StaticResource HeaderContentPresenterStyle}"/>
|
|
<ScrollViewer x:Name="ContentElement"
|
|
AutomationProperties.AccessibilityView="Raw"
|
|
Background="{Binding BackgroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}"
|
|
HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}"
|
|
HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
|
|
IsTabStop="False"
|
|
IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}"
|
|
IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}"
|
|
IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}"
|
|
Margin="{TemplateBinding BorderThickness}"
|
|
MinHeight="{ThemeResource TextControlThemeMinHeight}"
|
|
Padding="{TemplateBinding Padding}"
|
|
Grid.Row="1"
|
|
FontSize="{ThemeResource ContentControlFontSize}"
|
|
VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"
|
|
VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}"
|
|
ZoomMode="Disabled"/>
|
|
<ContentControl x:Name="PlaceholderTextContentPresenter"
|
|
Content="{TemplateBinding PlaceholderText}"
|
|
Foreground="{TemplateBinding PlaceholderForegroundBrush}"
|
|
FontSize="{ThemeResource ContentControlFontSize}"
|
|
IsTabStop="False"
|
|
Margin="{ThemeResource RichEditBoxTextThemeMargin}"
|
|
Padding="{TemplateBinding Padding}"
|
|
Grid.Row="1"
|
|
HorizontalAlignment="{Binding TextAlignment, RelativeSource={RelativeSource Mode=TemplatedParent}, Converter={StaticResource AlignmentConverter}}"/>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</ResourceDictionary> |