diff options
Diffstat (limited to 'Xamarin.Forms.Platform.UAP')
-rw-r--r-- | Xamarin.Forms.Platform.UAP/AutoSuggestStyle.xaml | 389 | ||||
-rw-r--r-- | Xamarin.Forms.Platform.UAP/FormsTextBoxStyle.xaml | 8 | ||||
-rw-r--r-- | Xamarin.Forms.Platform.UAP/Resources.xaml | 384 | ||||
-rw-r--r-- | Xamarin.Forms.Platform.UAP/SearchBarRenderer.cs | 40 | ||||
-rw-r--r-- | Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj | 7 |
5 files changed, 411 insertions, 417 deletions
diff --git a/Xamarin.Forms.Platform.UAP/AutoSuggestStyle.xaml b/Xamarin.Forms.Platform.UAP/AutoSuggestStyle.xaml new file mode 100644 index 00000000..3c85a01f --- /dev/null +++ b/Xamarin.Forms.Platform.UAP/AutoSuggestStyle.xaml @@ -0,0 +1,389 @@ +<ResourceDictionary + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:uwp="using:Xamarin.Forms.Platform.UWP"> + + <!-- Default Style for AutoSuggestBox --> + <Style TargetType="AutoSuggestBox"> + <Setter Property="VerticalAlignment" Value="Top" /> + <Setter Property="IsTabStop" Value="False" /> + <Setter Property="TextBoxStyle" Value="{StaticResource AutoSuggestBoxTextBoxStyle}" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="AutoSuggestBox"> + <Grid> + <VisualStateManager.VisualStateGroups> + <VisualStateGroup x:Name="Orientation"> + <VisualState x:Name="Landscape"/> + <VisualState x:Name="Portrait"/> + </VisualStateGroup> + </VisualStateManager.VisualStateGroups> + <uwp:FormsTextBox x:Name="TextBox" + Style="{TemplateBinding TextBoxStyle}" + FontFamily="{TemplateBinding FontFamily}" + FontSize="{TemplateBinding FontSize}" + FontStyle="{TemplateBinding FontStyle}" + PlaceholderText="{TemplateBinding PlaceholderText}" + Header="{TemplateBinding Header}" + Width="{TemplateBinding Width}" + ScrollViewer.BringIntoViewOnFocusChange="False" + Canvas.ZIndex="0" + Margin="0" + DesiredCandidateWindowAlignment="BottomEdge"/> + <Popup x:Name="SuggestionsPopup"> + <Border x:Name="SuggestionsContainer"> + <Border.RenderTransform> + <TranslateTransform x:Name="UpwardTransform"/> + </Border.RenderTransform> + <ListView x:Name="SuggestionsList" + Background="{ThemeResource SystemControlBackgroundChromeMediumLowBrush}" + BorderThickness="{ThemeResource AutoSuggestListBorderThemeThickness}" + BorderBrush="{ThemeResource SystemControlForegroundBaseMediumLowBrush}" + DisplayMemberPath="{TemplateBinding DisplayMemberPath}" + IsItemClickEnabled="True" + ItemTemplate="{TemplateBinding ItemTemplate}" + ItemTemplateSelector="{TemplateBinding ItemTemplateSelector}" + ItemContainerStyle="{TemplateBinding ItemContainerStyle}" + MaxHeight="{ThemeResource AutoSuggestListMaxHeight}" + Margin="{ThemeResource AutoSuggestListMargin}"> + <ListView.ItemContainerTransitions> + <TransitionCollection /> + </ListView.ItemContainerTransitions> + </ListView> + </Border> + </Popup> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style TargetType="uwp:FormsTextBox" x:Key="AutoSuggestBoxTextBoxStyle"> + <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" /> + <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" /> + <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> + <Setter Property="ForegroundFocusBrush" Value="{ThemeResource SystemControlForegroundChromeBlackHighBrush}" /> + <Setter Property="PlaceholderForegroundBrush" Value="{ThemeResource SystemControlPageTextBaseMediumBrush}" /> + <Setter Property="PlaceholderForegroundFocusBrush" Value="{ThemeResource SystemControlPageTextChromeBlackMediumLowBrush}" /> + <Setter Property="Background" Value="{ThemeResource SystemControlBackgroundAltHighBrush}" /> + <Setter Property="BackgroundFocusBrush" Value="{ThemeResource SystemControlBackgroundChromeWhiteBrush}" /> + <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundChromeDisabledLowBrush}" /> + <Setter Property="SelectionHighlightColor" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> + <Setter Property="BorderThickness" Value="{ThemeResource TextControlBorderThemeThickness}" /> + <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> + <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> + <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="uwp: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="BorderElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightTransparentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="GlyphElement" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource FormsCancelBackgroundBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="GlyphElement" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltChromeWhiteBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <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}" + Background="{ThemeResource FormsCancelBackgroundBrush}"> + <TextBlock x:Name="GlyphElement" + Foreground="{ThemeResource FormsCancelForegroundBrush}" + VerticalAlignment="Center" + HorizontalAlignment="Center" + FontStyle="Normal" + FontSize="12" + Text="" + FontFamily="{ThemeResource SymbolThemeFontFamily}" + AutomationProperties.AccessibilityView="Raw"/> + </Border> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Name="QueryButtonStyle" 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="BorderElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightTransparentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltAccentBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Pressed"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltChromeWhiteBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Disabled"> + <Storyboard> + <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}" + Background="{ThemeResource TextBoxButtonBackgroundThemeBrush}"> + <ContentPresenter x:Name="ContentPresenter" + Content="{TemplateBinding Content}" + ContentTransitions="{TemplateBinding ContentTransitions}" + ContentTemplate="{TemplateBinding ContentTemplate}" + Margin="{TemplateBinding Padding}" + HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalAlignment="{TemplateBinding VerticalContentAlignment}" + 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="HeaderContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledChromeDisabledLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PlaceholderTextContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledChromeDisabledLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Normal" /> + <VisualState x:Name="PointerOver"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightChromeAltLowBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Opacity"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextControlBackgroundHoverOpacity}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + <VisualState x:Name="Focused"> + <Storyboard> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PlaceholderTextContentPresenter" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding PlaceholderForegroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Background"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding BackgroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" + Storyboard.TargetProperty="Opacity"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextControlBackgroundFocusedOpacity}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" + Storyboard.TargetProperty="BorderBrush"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding ForegroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" + Storyboard.TargetProperty="RequestedTheme"> + <DiscreteObjectKeyFrame KeyTime="0" Value="Light" /> + </ObjectAnimationUsingKeyFrames> + <ObjectAnimationUsingKeyFrames Storyboard.TargetName="QueryButton" + Storyboard.TargetProperty="Foreground"> + <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundChromeBlackMediumBrush}" /> + </ObjectAnimationUsingKeyFrames> + </Storyboard> + </VisualState> + </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" /> + <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}" + Opacity="{ThemeResource TextControlBackgroundRestOpacity}" + Grid.ColumnSpan="3" + Grid.RowSpan="1"/> + <Border x:Name="BorderElement" + Grid.Row="1" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" + Grid.ColumnSpan="3" + Grid.RowSpan="1"/> + <ContentPresenter x:Name="HeaderContentPresenter" + x:DeferLoadStrategy="Lazy" + Visibility="Collapsed" + Grid.Row="0" + Foreground="{Binding PlaceholderForegroundBrush, RelativeSource={RelativeSource TemplatedParent}}" + Margin="0,0,0,8" + Grid.ColumnSpan="3" + Content="{TemplateBinding Header}" + ContentTemplate="{TemplateBinding HeaderTemplate}" + FontWeight="Normal" + TextWrapping="Wrap" /> + <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="{Binding PlaceholderForegroundBrush, RelativeSource={RelativeSource TemplatedParent}}" + Margin="{TemplateBinding BorderThickness}" + Padding="{TemplateBinding Padding}" + IsTabStop="False" + Grid.ColumnSpan="3" + Content="{TemplateBinding PlaceholderText}" + FontFamily="{TemplateBinding FontFamily}" + FontSize="{TemplateBinding FontSize}" + FontStyle="{TemplateBinding FontStyle}" + 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}" + Margin="{ThemeResource HelperButtonThemePadding}" + IsTabStop="False" + Grid.Column="1" + Visibility="Collapsed" + FontSize="{TemplateBinding FontSize}" + MinWidth="34" + VerticalAlignment="Stretch"/> + <Button x:Name="QueryButton" + Grid.Row="1" + Style="{StaticResource QueryButtonStyle}" + BorderThickness="{TemplateBinding BorderThickness}" + Margin="{ThemeResource HelperButtonThemePadding}" + IsTabStop="False" + Grid.Column="2" + FontSize="{TemplateBinding FontSize}" + MinWidth="34" + VerticalAlignment="Stretch"/> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + +</ResourceDictionary>
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.UAP/FormsTextBoxStyle.xaml b/Xamarin.Forms.Platform.UAP/FormsTextBoxStyle.xaml index c573552a..f449ad5b 100644 --- a/Xamarin.Forms.Platform.UAP/FormsTextBoxStyle.xaml +++ b/Xamarin.Forms.Platform.UAP/FormsTextBoxStyle.xaml @@ -8,6 +8,9 @@ <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" /> <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" /> <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> + <Setter Property="ForegroundFocusBrush" Value="{ThemeResource SystemControlForegroundChromeBlackHighBrush}" /> + <Setter Property="PlaceholderForegroundBrush" Value="{ThemeResource SystemControlPageTextBaseMediumBrush}" /> + <Setter Property="PlaceholderForegroundFocusBrush" Value="{ThemeResource SystemControlPageTextChromeBlackMediumLowBrush}" /> <Setter Property="Background" Value="{ThemeResource SystemControlBackgroundAltHighBrush}" /> <Setter Property="BackgroundFocusBrush" Value="{ThemeResource SystemControlBackgroundChromeWhiteBrush}" /> <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundChromeDisabledLowBrush}" /> @@ -15,7 +18,6 @@ <Setter Property="BorderThickness" Value="{ThemeResource TextControlBorderThemeThickness}" /> <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> - <Setter Property="PlaceholderForegroundBrush" Value="{ThemeResource SystemControlPageTextBaseMediumBrush}" /> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden" /> <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" /> <Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="False" /> @@ -123,7 +125,7 @@ <Storyboard> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="PlaceholderTextContentPresenter"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlPageTextChromeBlackMediumLowBrush}" /> + <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding PlaceholderForegroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="BackgroundElement"> @@ -137,7 +139,7 @@ <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentElement"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlForegroundChromeBlackHighBrush}" /> + <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding ForegroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" /> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="RequestedTheme" Storyboard.TargetName="ContentElement"> diff --git a/Xamarin.Forms.Platform.UAP/Resources.xaml b/Xamarin.Forms.Platform.UAP/Resources.xaml index 5df785f0..5f3a4999 100644 --- a/Xamarin.Forms.Platform.UAP/Resources.xaml +++ b/Xamarin.Forms.Platform.UAP/Resources.xaml @@ -6,6 +6,7 @@ <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="FormsTextBoxStyle.xaml" /> + <ResourceDictionary Source="AutoSuggestStyle.xaml" /> </ResourceDictionary.MergedDictionaries> <uwp:CaseConverter x:Key="LowerConverter" ConvertToUpper="False" /> @@ -708,386 +709,5 @@ <SolidColorBrush x:Key="FormsCancelForegroundBrush" /> <SolidColorBrush x:Key="FormsCancelBackgroundBrush" /> - - <!-- Default Style for AutoSuggestBox --> - <Style TargetType="AutoSuggestBox"> - <Setter Property="VerticalAlignment" Value="Top" /> - <Setter Property="IsTabStop" Value="False" /> - <Setter Property="TextBoxStyle" Value="{StaticResource AutoSuggestBoxTextBoxStyle}" /> - <Setter Property="Template"> - <Setter.Value> - <ControlTemplate TargetType="AutoSuggestBox"> - <Grid> - <VisualStateManager.VisualStateGroups> - <VisualStateGroup x:Name="Orientation"> - <VisualState x:Name="Landscape"/> - <VisualState x:Name="Portrait"/> - </VisualStateGroup> - </VisualStateManager.VisualStateGroups> - <uwp:FormsTextBox x:Name="TextBox" - Style="{TemplateBinding TextBoxStyle}" - FontFamily="{TemplateBinding FontFamily}" - FontSize="{TemplateBinding FontSize}" - FontStyle="{TemplateBinding FontStyle}" - PlaceholderText="{TemplateBinding PlaceholderText}" - Header="{TemplateBinding Header}" - Width="{TemplateBinding Width}" - ScrollViewer.BringIntoViewOnFocusChange="False" - Canvas.ZIndex="0" - Margin="0" - DesiredCandidateWindowAlignment="BottomEdge"/> - <Popup x:Name="SuggestionsPopup"> - <Border x:Name="SuggestionsContainer"> - <Border.RenderTransform> - <TranslateTransform x:Name="UpwardTransform"/> - </Border.RenderTransform> - <ListView x:Name="SuggestionsList" - Background="{ThemeResource SystemControlBackgroundChromeMediumLowBrush}" - BorderThickness="{ThemeResource AutoSuggestListBorderThemeThickness}" - BorderBrush="{ThemeResource SystemControlForegroundBaseMediumLowBrush}" - DisplayMemberPath="{TemplateBinding DisplayMemberPath}" - IsItemClickEnabled="True" - ItemTemplate="{TemplateBinding ItemTemplate}" - ItemTemplateSelector="{TemplateBinding ItemTemplateSelector}" - ItemContainerStyle="{TemplateBinding ItemContainerStyle}" - MaxHeight="{ThemeResource AutoSuggestListMaxHeight}" - Margin="{ThemeResource AutoSuggestListMargin}"> - <ListView.ItemContainerTransitions> - <TransitionCollection /> - </ListView.ItemContainerTransitions> - </ListView> - </Border> - </Popup> - </Grid> - </ControlTemplate> - </Setter.Value> - </Setter> - </Style> - - <Style TargetType="uwp:FormsTextBox" x:Key="AutoSuggestBoxTextBoxStyle"> - <Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" /> - <Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" /> - <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> - <Setter Property="ForegroundFocusBrush" Value="{ThemeResource SystemControlForegroundChromeBlackHighBrush}" /> - <Setter Property="PlaceholderForegroundBrush" Value="{ThemeResource SystemControlPageTextBaseMediumBrush}" /> - <Setter Property="PlaceholderForegroundFocusBrush" Value="{ThemeResource SystemControlPageTextChromeBlackMediumLowBrush}" /> - <Setter Property="Background" Value="{ThemeResource SystemControlBackgroundAltHighBrush}" /> - <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundChromeDisabledLowBrush}" /> - <Setter Property="SelectionHighlightColor" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> - <Setter Property="BorderThickness" Value="{ThemeResource TextControlBorderThemeThickness}" /> - <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> - <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> - <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="uwp: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="BorderElement" - Storyboard.TargetProperty="Background"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightTransparentBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="GlyphElement" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource FormsCancelBackgroundBrush}" /> - </ObjectAnimationUsingKeyFrames> - </Storyboard> - </VisualState> - <VisualState x:Name="Pressed"> - <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" - Storyboard.TargetProperty="Background"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="GlyphElement" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltChromeWhiteBrush}" /> - </ObjectAnimationUsingKeyFrames> - </Storyboard> - </VisualState> - <VisualState x:Name="Disabled"> - <Storyboard> - <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}" - Background="{ThemeResource FormsCancelBackgroundBrush}"> - <TextBlock x:Name="GlyphElement" - Foreground="{ThemeResource FormsCancelForegroundBrush}" - VerticalAlignment="Center" - HorizontalAlignment="Center" - FontStyle="Normal" - FontSize="12" - Text="" - FontFamily="{ThemeResource SymbolThemeFontFamily}" - AutomationProperties.AccessibilityView="Raw"/> - </Border> - </Grid> - </ControlTemplate> - </Setter.Value> - </Setter> - </Style> - <Style x:Name="QueryButtonStyle" 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="BorderElement" - Storyboard.TargetProperty="Background"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightTransparentBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltAccentBrush}" /> - </ObjectAnimationUsingKeyFrames> - </Storyboard> - </VisualState> - <VisualState x:Name="Pressed"> - <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" - Storyboard.TargetProperty="Background"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAltChromeWhiteBrush}" /> - </ObjectAnimationUsingKeyFrames> - </Storyboard> - </VisualState> - <VisualState x:Name="Disabled"> - <Storyboard> - <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}" - Background="{ThemeResource TextBoxButtonBackgroundThemeBrush}"> - <ContentPresenter x:Name="ContentPresenter" - Content="{TemplateBinding Content}" - ContentTransitions="{TemplateBinding ContentTransitions}" - ContentTemplate="{TemplateBinding ContentTemplate}" - Margin="{TemplateBinding Padding}" - HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" - VerticalAlignment="{TemplateBinding VerticalContentAlignment}" - 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="HeaderContentPresenter" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseLowBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" - Storyboard.TargetProperty="Background"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledTransparentBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" - Storyboard.TargetProperty="Background"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" - Storyboard.TargetProperty="BorderBrush"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledBaseLowBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledChromeDisabledLowBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PlaceholderTextContentPresenter" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlDisabledChromeDisabledLowBrush}" /> - </ObjectAnimationUsingKeyFrames> - </Storyboard> - </VisualState> - <VisualState x:Name="Normal" /> - <VisualState x:Name="PointerOver"> - <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" - Storyboard.TargetProperty="BorderBrush"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightChromeAltLowBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" - Storyboard.TargetProperty="Opacity"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextControlBackgroundHoverOpacity}" /> - </ObjectAnimationUsingKeyFrames> - </Storyboard> - </VisualState> - <VisualState x:Name="Focused"> - <Storyboard> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PlaceholderTextContentPresenter" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding PlaceholderForegroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" - Storyboard.TargetProperty="Background"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundChromeWhiteBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundElement" - Storyboard.TargetProperty="Opacity"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextControlBackgroundFocusedOpacity}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderElement" - Storyboard.TargetProperty="BorderBrush"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{Binding ForegroundFocusBrush, RelativeSource={RelativeSource TemplatedParent}}" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentElement" - Storyboard.TargetProperty="RequestedTheme"> - <DiscreteObjectKeyFrame KeyTime="0" Value="Light" /> - </ObjectAnimationUsingKeyFrames> - <ObjectAnimationUsingKeyFrames Storyboard.TargetName="QueryButton" - Storyboard.TargetProperty="Foreground"> - <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundChromeBlackMediumBrush}" /> - </ObjectAnimationUsingKeyFrames> - </Storyboard> - </VisualState> - </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" /> - <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}" - Opacity="{ThemeResource TextControlBackgroundRestOpacity}" - Grid.ColumnSpan="3" - Grid.RowSpan="1"/> - <Border x:Name="BorderElement" - Grid.Row="1" - BorderBrush="{TemplateBinding BorderBrush}" - BorderThickness="{TemplateBinding BorderThickness}" - Grid.ColumnSpan="3" - Grid.RowSpan="1"/> - <ContentPresenter x:Name="HeaderContentPresenter" - x:DeferLoadStrategy="Lazy" - Visibility="Collapsed" - Grid.Row="0" - Foreground="{Binding PlaceholderForegroundBrush, RelativeSource={RelativeSource TemplatedParent}}" - Margin="0,0,0,8" - Grid.ColumnSpan="3" - Content="{TemplateBinding Header}" - ContentTemplate="{TemplateBinding HeaderTemplate}" - FontWeight="Normal" - TextWrapping="Wrap" /> - <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="{Binding PlaceholderForegroundBrush, RelativeSource={RelativeSource TemplatedParent}}" - Margin="{TemplateBinding BorderThickness}" - Padding="{TemplateBinding Padding}" - IsTabStop="False" - Grid.ColumnSpan="3" - Content="{TemplateBinding PlaceholderText}" - FontFamily="{TemplateBinding FontFamily}" - FontSize="{TemplateBinding FontSize}" - FontStyle="{TemplateBinding FontStyle}" - 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}" - Margin="{ThemeResource HelperButtonThemePadding}" - IsTabStop="False" - Grid.Column="1" - Visibility="Collapsed" - FontSize="{TemplateBinding FontSize}" - MinWidth="34" - VerticalAlignment="Stretch"/> - <Button x:Name="QueryButton" - Grid.Row="1" - Style="{StaticResource QueryButtonStyle}" - BorderThickness="{TemplateBinding BorderThickness}" - Margin="{ThemeResource HelperButtonThemePadding}" - IsTabStop="False" - Grid.Column="2" - FontSize="{TemplateBinding FontSize}" - MinWidth="34" - VerticalAlignment="Stretch"/> - </Grid> - </ControlTemplate> - </Setter.Value> - </Setter> - </Style> + </ResourceDictionary>
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.UAP/SearchBarRenderer.cs b/Xamarin.Forms.Platform.UAP/SearchBarRenderer.cs index 04e1058a..9b80ade1 100644 --- a/Xamarin.Forms.Platform.UAP/SearchBarRenderer.cs +++ b/Xamarin.Forms.Platform.UAP/SearchBarRenderer.cs @@ -155,23 +155,11 @@ namespace Xamarin.Forms.Platform.UWP Color placeholderColor = Element.PlaceholderColor; - if (placeholderColor.IsDefault) - { - if (_defaultPlaceholderColorBrush == null) - return; - - _queryTextBox.PlaceholderForegroundBrush = _defaultPlaceholderColorBrush; - _queryTextBox.PlaceholderForegroundBrush = _defaultPlaceholderColorFocusBrush; - } - - if (_defaultPlaceholderColorBrush == null) - { - _defaultPlaceholderColorBrush = _queryTextBox.PlaceholderForegroundBrush; - _defaultPlaceholderColorFocusBrush = _queryTextBox.PlaceholderForegroundFocusBrush; - } + BrushHelpers.UpdateColor(placeholderColor, ref _defaultPlaceholderColorBrush, + () => _queryTextBox.PlaceholderForegroundBrush, brush => _queryTextBox.PlaceholderForegroundBrush = brush); - _queryTextBox.PlaceholderForegroundBrush = placeholderColor.ToBrush(); - _queryTextBox.PlaceholderForegroundFocusBrush = placeholderColor.ToBrush(); + BrushHelpers.UpdateColor(placeholderColor, ref _defaultPlaceholderColorFocusBrush, + () => _queryTextBox.PlaceholderForegroundFocusBrush, brush => _queryTextBox.PlaceholderForegroundFocusBrush = brush); } void UpdateText() @@ -186,23 +174,11 @@ namespace Xamarin.Forms.Platform.UWP Color textColor = Element.TextColor; - if (textColor.IsDefault) - { - if (_defaultTextColorBrush == null) - return; - - _queryTextBox.Foreground = _defaultTextColorBrush; - _queryTextBox.ForegroundFocusBrush = _defaultTextColorFocusBrush; - } - - if (_defaultTextColorBrush == null) - { - _defaultTextColorBrush = _queryTextBox.Foreground; - _defaultTextColorFocusBrush = _queryTextBox.ForegroundFocusBrush; - } + BrushHelpers.UpdateColor(textColor, ref _defaultTextColorBrush, + () => _queryTextBox.Foreground, brush => _queryTextBox.Foreground = brush); - _queryTextBox.Foreground = textColor.ToBrush(); - _queryTextBox.ForegroundFocusBrush = textColor.ToBrush(); + BrushHelpers.UpdateColor(textColor, ref _defaultTextColorFocusBrush, + () => _queryTextBox.ForegroundFocusBrush, brush => _queryTextBox.ForegroundFocusBrush = brush); } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj b/Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj index 5ce6221e..4e804819 100644 --- a/Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj +++ b/Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj @@ -131,6 +131,9 @@ <Compile Include="..\Xamarin.Forms.Platform.WinRT\AlignmentExtensions.cs"> <Link>AlignmentExtensions.cs</Link> </Compile> + <Compile Include="..\Xamarin.Forms.Platform.WinRT\BrushHelpers.cs"> + <Link>BrushHelpers.cs</Link> + </Compile> <Compile Include="..\Xamarin.Forms.Platform.WinRT\FormsTextBox.cs"> <Link>FormsTextBox.cs</Link> </Compile> @@ -421,6 +424,10 @@ <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> <ItemGroup> + <Page Include="AutoSuggestStyle.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> <Page Include="FormsTextBoxStyle.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> |