Как сделать контент в поле паролей в XAML в Center?
-
02-01-2020 - |
Вопрос
Я пытаюсь сделать контент в поле паролей для выравнивания в центре, когда мы вводим что-то в этом, но я не могу это сделать. Я попробовал это Ссылка
Это код:
<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>
.
Решение
Проблема, похоже, лежит с помощью PasswordboxСтиль .У элемента корневого борда нет шаблонов.
<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>
.
Попробуйте добавить инкапсулирующую сетку или изменение горизонталимента границы его к тому-то подобное:
<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>
.
Тогда загрузите свой стиль как StaticResource
Не связан с StackOverflow