Значок Показать пароль сокращает поле ввода в форме xaml - PullRequest
0 голосов
/ 08 июля 2019

Я добавил значок Показать пароль в поле ввода, чтобы разрешить пиковые значения паролей. Я включил поле ввода и изображение в том же StackLayout. Он работает точно так же, как и должен, за исключением того, что строка поля ввода укорочена, чтобы разместить изображение в одной горизонтальной плоскости. Я хочу, чтобы строка ввода доходила до края экрана, а над ней появлялось изображение пароля.

Вот как это отображается в данный момент:

enter image description here

Вот фрагмент кода xaml для поля ввода пароля и изображения, содержащегося в StackLayout

<StackLayout x:Name="passwordStack" Orientation="Horizontal">
    <Entry
        x:Name="passwordEntry"
        HorizontalOptions="FillAndExpand"
        IsPassword="True"
        VerticalOptions="Center">
    </Entry>
    <Image 
        x:Name="passwordEye"
        Source="show_password_icon"
        HorizontalOptions="End"
        VerticalOptions="Center"
        WidthRequest="30"
        HeightRequest="30">
        <Image.GestureRecognizers>
            <TapGestureRecognizer Tapped="ShowPassword" NumberOfTapsRequired="1" />
        </Image.GestureRecognizers>
    </Image>
</StackLayout>

1 Ответ

1 голос
/ 08 июля 2019

Используйте Grid вместо StackLayout:

<Grid>
    <Entry
        Grid.Row="0"
        Grid.Column="0"
        x:Name="passwordEntry"
        HorizontalOptions="FillAndExpand"
        IsPassword="True"
        VerticalOptions="Center">
    </Entry>
    <Image 
        Grid.Row="0"
        Grid.Column="0"
        x:Name="passwordEye"
        Source="show_password_icon"
        HorizontalOptions="End"
        VerticalOptions="Center"
        WidthRequest="30"
        HeightRequest="30">
        <Image.GestureRecognizers>
            <TapGestureRecognizer Tapped="ShowPassword" NumberOfTapsRequired="1" />
        </Image.GestureRecognizers>
    </Image>
</Grid>

Таким образом, Image будет перекрывать Entry.

Проблема в том, что Image будет отображаться поверх текста, если текст слишком длинный. Поэтому лучшим решением будет создание пользовательского элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...