Come rendere il contenuto in una casella password in XAML per essere al centro?
-
02-01-2020 - |
Domanda
Sto cercando di rendere il contenuto, in una casella di password per allinearsi al centro, quando digitiamo qualcosa in questo, ma non sono in grado di farlo. Ho provato questo link
Questo è il codice:
<PasswordBox Grid.Row="4" Password="{Binding Password,Mode=TwoWay}" BorderBrush="Transparent" HorizontalAlignment="Center" Margin="0" FontSize="25" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" VerticalAlignment="Center" Width="550" Height="90" PlaceholderText="password" >
<PasswordBox.Background>
<ImageBrush ImageSource="/Assets/Login/text-field.png" AlignmentY="Bottom"></ImageBrush>
</PasswordBox.Background>
</PasswordBox>
.
Questo è per un'applicazione di Windows Store . Ma non so come stanno facendo. Sarei grato se qualcuno potesse rispondere a questo.
Soluzione
Il problema sembra mentire con il passwordStile .L'elemento Border Border non ha templatebindings.
<ControlTemplate TargetType="{x:Type PasswordBox}">
<Border x:Name="Border"
CornerRadius="2"
Padding="2"
BorderThickness="1">
<Border.Background>
<SolidColorBrush Color="{DynamicResource ControlLightColor}" />
</Border.Background>
<Border.BorderBrush>
<SolidColorBrush Color="{DynamicResource BorderMediumColor}" />
</Border.BorderBrush>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled" />
<VisualState x:Name="MouseOver" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
</ControlTemplate>
.
Prova ad aggiungere una griglia di incapsulante o modificare il bordo del bordo orizzontale in qualcosa del genere:
<ControlTemplate TargetType="{x:Type PasswordBox}">
<Grid HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}">
<Border x:Name="Border"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
CornerRadius="2"
Padding="2"
BorderThickness="1">
<Border.Background>
<SolidColorBrush Color="{DynamicResource ControlLightColor}" />
</Border.Background>
<Border.BorderBrush>
<SolidColorBrush Color="{DynamicResource BorderMediumColor}" />
</Border.BorderBrush>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="Disabled" />
<VisualState x:Name="MouseOver" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
</Grid>
</ControlTemplate>
.
Quindi caricare il tuo stile come staticoResource
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow