2016-07-10 3 views
0

ich TextBox wie dieses:C# XAML Universal-Apps loswerden ‚Maske‘ get über Textfelder

<TextBox Background="#2196F3" Foreground="White" Text="Hello"/> 

Aber dann der Hintergrund der TextBox nicht werden ‚# 2196F3‘ - es wird ein Ton heller , wie Universal App TextBox es diese graue 'Maske' über ihnen haben.

TextBox mit 'Maske' - Unfocused
enter image description here

Und dieses Problem zu lösen, habe ich ein Gitter hinter dem Textfeld und machen die Textbox transparent.

TextBox mit Gitter - Unfocused TextBox - Unfocused

Aber wenn ich es konzentrieren, enter image description here

Windows Store verwaltet die 'Maske' zu entfernen, aber ich weiß nicht, wie ...

Also, wie mache ich die TextBox bleiben "# 2196F3", auch wenn es konzentriert ist? Danke im Voraus.

Antwort

1

Wie kann ich den ‚Focused‘ Stil für die TextBox so anpassen, dass es nicht undurchsichtig ist worden in fokussierten Zustand oder die Maske gibt es nicht oder ist es sogar möglich,

Wie @ thang2410199 sagte, Sie müssen die Vorlage der TextBox ändern, um Ihre Anforderung zu implementieren.

Für die detaillierten Schritte bitte die folgenden Informationen überprüfen:

1.Bitte rechts auf die Boxsteuerelement Text klicken -> „Vorlage bearbeiten“ -> „Kopie bearbeiten ...“, dann wird es zeigen Sie den Standard-Stil des TextBox-Steuerelements.

enter image description here

2.After, die Sie in der folgenden XAML im Standardstil des Steuerelements TextBox finden:

    <VisualState x:Name="Focused"> 
           <Storyboard> 
             <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="PlaceholderTextContentPresenter"> 
              <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlPageTextChromeBlackMediumLowBrush}"/> 
             </ObjectAnimationUsingKeyFrames> 
             <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="BackgroundElement"> 
              <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundChromeWhiteBrush}"/> 
             </ObjectAnimationUsingKeyFrames> 
             <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="BackgroundElement"> 
              <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource TextControlBackgroundFocusedOpacity}"/> 
             </ObjectAnimationUsingKeyFrames> 
             <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="BorderElement"> 
              <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}"/> 
             </ObjectAnimationUsingKeyFrames> 
             <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentElement"> 
              <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlForegroundChromeBlackHighBrush}"/> 
             </ObjectAnimationUsingKeyFrames> 
             <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="RequestedTheme" Storyboard.TargetName="ContentElement"> 
              <DiscreteObjectKeyFrame KeyTime="0" Value="Light"/> 
             </ObjectAnimationUsingKeyFrames> 
            </Storyboard> 
           </VisualState> 

3.Remove/löschen Sie den folgenden XAML innerhalb des oben Focused XAML lassen Sie die die TextBox ‚# 2196F3‘ bleiben, wenn die TextBox im Focused Zustand ist:

<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="BackgroundElement"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundChromeWhiteBrush}"/> 
</ObjectAnimationUsingKeyFrames> 
1

Sie müssen die Vorlage der TextBox anpassen. Erstellen Sie einen neuen Stil für TextBox und wenden Sie ihn auf Ihre aktuelle TextBox an.

Windows Store manages to remove the 'mask', but I don't know how...

Sein, weil, wenn Sie die TextBox konzentrieren, in der default template es einen visuellen Zustand für Focused Zustand ist, die Benutzeroberfläche von TextBox ändern.

+0

Wie kann ich den ‚Focused‘ Stil für die TextBox so anpassen, dass es nicht im fokussierten Zustand undurchsichtig oder die Maske ist nicht da oder ist es überhaupt möglich? – Theo