【发布时间】:2021-07-04 06:48:04
【问题描述】:
我已经为入口组件实现了隐藏和显示密码功能。它最初不起作用,但经过一次隐藏和显示后,它开始工作。图标正在更改,但密码未显示。此问题仅在android平台上。
我的代码:
Xaml:
<StackLayout Padding="3" Orientation="Horizontal">
<local:CustomEntry
x:Name="password_entry"
IsPassword="True"
Placeholder="Password"
Style="{StaticResource LoginEntryStyle}"/>
<Image
x:Name="password_icon"
Style="{StaticResource LoginEntryImageStyle}"
HorizontalOptions="End"
Source="ic_hide_password_xx.png">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="PasswordIcon_Clicked"
NumberOfTapsRequired="1">
</TapGestureRecognizer>
</Image.GestureRecognizers>
</Image>
</StackLayout>
Xaml.cs:
bool showPassword = true;
private void PasswordIcon_Clicked(object sender, EventArgs e)
{
if (showPassword)
{
password_icon.Source = "ic_show_password_xx.png";
password_entry.IsPassword = false;
showPassword = false;
}
else
{
password_icon.Source = "ic_hide_password_xx.png";
password_entry.IsPassword = true;
showPassword = true;
}
}
我尝试使用 password_entry.IsPassword 代替 bool 变量,但没有运气。我已经上传了一个示例项目here 供参考。
【问题讨论】:
-
你为什么将
showPassword布尔值初始化为true? -
@FabriBertani 用于处理初始点击
标签: xamarin.forms