我有一个带有登录页面的Xamarin.Forms共享项目。对于 UWP,我想使用密码显示功能,这就是我需要密码框控件的原因。我想为 UWP 中的密码框控件设置占位符文本颜色。问题是 Xamarin 没有 PasswordBoxRenderer,并且 PasswordBox 控件没有用于编辑占位符前景色的属性。
我无法找到更新的/Xamarin解决方案。任何帮助或解决方案不胜感激。
覆盖 PasswordBox 资源中默认画笔的最佳方法,如下所示:
<PasswordBox PlaceholderText="PASSWORD">
<PasswordBox.Resources>
<SolidColorBrush x:Key="TextControlPlaceholderForegroundFocused" Color="Red"/>
<SolidColorBrush x:Key="TextControlPlaceholderForeground" Color="Red"/>
</PasswordBox.Resources>
</PasswordBox>
您还可以重写:文本控件占位符前景指针、文本控件占位符前景禁用
将新的用户控件添加到项目中,然后将其更改为:
<PasswordBox
x:Class="App3.CustomPasswordBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Width="200" Height="50" PlaceholderText="PlaceHolder">
<PasswordBox.Resources>
<SolidColorBrush x:Key="TextControlPlaceholderForegroundFocused" Color="Red"/>
<SolidColorBrush x:Key="TextControlPlaceholderForeground" Color="Red"/>
</PasswordBox.Resources>
</PasswordBox>
删除 CustomPasswordBox.xaml.cs。
创建新的渲染器:
public class PasswordRenderer : ViewRenderer<Entry, CustomPasswordBox>
{
}