Xaml 如何在xamarin表单中自动大写键盘/条目
我有两个输入用户名和密码。用户名和密码始终为大写。我怎样才能强制键盘或输入,当我键入内容时,文本将是大写的Xaml 如何在xamarin表单中自动大写键盘/条目,xaml,xamarin,xamarin.forms,xamarin.forms.entry,Xaml,Xamarin,Xamarin.forms,Xamarin.forms.entry,我有两个输入用户名和密码。用户名和密码始终为大写。我怎样才能强制键盘或输入,当我键入内容时,文本将是大写的 <Frame StyleClass="lpframe" x:Name="usernameFrame" CornerRadius="5" BorderColor="Transparent" HasShadow="False"> <StackLayout> <Label Text="USERN
<Frame StyleClass="lpframe" x:Name="usernameFrame" CornerRadius="5" BorderColor="Transparent" HasShadow="False">
<StackLayout>
<Label Text="USERNAME" StyleClass="lbl-login">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="OpenSans-Semibold.ttf#OpenSans-Semibold"/>
</OnPlatform>
</Label.FontFamily>
</Label>
<local:CustomEntry Placeholder="Username" PlaceholderColor="#879baa" Unfocused="entUser_Unfocused" StyleClass="form-control" ReturnType="Next" x:Name="entUser">
<local:CustomEntry.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="OpenSans-Regular.ttf#OpenSans-Regular"/>
</OnPlatform>
</local:CustomEntry.FontFamily>
</local:CustomEntry>
</StackLayout>
</Frame>
<Frame StyleClass="lpframe" x:Name="passwordFrame" CornerRadius="5" BorderColor="Transparent" HasShadow="False">
<StackLayout>
<Label Text="PASSWORD" StyleClass="lbl-login">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="OpenSans-Semibold.ttf#OpenSans-Semibold"/>
</OnPlatform>
</Label.FontFamily>
</Label>
<local:CustomEntry Placeholder="Password" PlaceholderColor="#879baa" Unfocused="entPassword_Unfocused" IsPassword="True" StyleClass="form-control" ReturnType="Go" x:Name="entPassword">
<local:CustomEntry.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="OpenSans-Regular.ttf#OpenSans-Regular"/>
</OnPlatform>
</local:CustomEntry.FontFamily>
</local:CustomEntry>
</StackLayout>
</Frame>
您可以通过
平台效果轻松实现
Xaml示例:
Android平台效应
注意:您正在向Android小部件EditText的当前过滤器列表添加一个InputFilteralCaps
public class CapsEntrytEffect : PlatformEffect
{
protected override void OnAttached()
{
var editText = Control as EditText;
editText.SetFilters(editText.GetFilters().Append(new InputFilterAllCaps()).ToArray());
}
protected override void OnDetached()
{
}
}
iOS平台效应
在实现PlatformEffect的每个项目中,确保包括ResolutionGroupName
和ExportEffect
属性,以便表单可以找到并激活该平台的效果
ResolutionGroupName和ExportEffect示例::
回复:您可以通过平台效果轻松实现
Xaml示例:
Android平台效应
注意:您正在向Android小部件EditText的当前过滤器列表添加一个InputFilteralCaps
public class CapsEntrytEffect : PlatformEffect
{
protected override void OnAttached()
{
var editText = Control as EditText;
editText.SetFilters(editText.GetFilters().Append(new InputFilterAllCaps()).ToArray());
}
protected override void OnDetached()
{
}
}
iOS平台效应
在实现PlatformEffect的每个项目中,确保包括ResolutionGroupName
和ExportEffect
属性,以便表单可以找到并激活该平台的效果
ResolutionGroupName和ExportEffect示例::
回复:现在您可以使用创建方法工厂修改键盘行为,如下所示:
<Entry Placeholder="Enter text here">
<Entry.Keyboard>
<Keyboard x:FactoryMethod="Create">
<x:Arguments>
<KeyboardFlags>CapitalizeWord</KeyboardFlags>
</x:Arguments>
</Keyboard>
</Entry.Keyboard>
大写字
以下是官方文件:
以下是所有受支持的标志:
- 无–未向键盘添加任何功能
- 大写句子–表示每个输入句子的第一个单词的第一个字母将自动大写
- 拼写检查–表示将对输入的文本执行拼写检查
- 建议–表示将在输入的文本中提供单词补全
- 大写字–表示每个字的第一个字母将自动大写
- CapitalizeCharacter–表示每个字符都将自动大写
- CapitalizeNone–表示不会发生自动资本化
- All–表示输入的文本将进行拼写检查、单词补全和句子大写
现在,您可以使用创建方法工厂修改键盘行为,如下所示:
<Entry Placeholder="Enter text here">
<Entry.Keyboard>
<Keyboard x:FactoryMethod="Create">
<x:Arguments>
<KeyboardFlags>CapitalizeWord</KeyboardFlags>
</x:Arguments>
</Keyboard>
</Entry.Keyboard>
大写字
以下是官方文件:
以下是所有受支持的标志:
- 无–未向键盘添加任何功能
- 大写句子–表示每个输入句子的第一个单词的第一个字母将自动大写
- 拼写检查–表示将对输入的文本执行拼写检查
- 建议–表示将在输入的文本中提供单词补全
- 大写字–表示每个字的第一个字母将自动大写
- CapitalizeCharacter–表示每个字符都将自动大写
- CapitalizeNone–表示不会发生自动资本化
- All–表示输入的文本将进行拼写检查、单词补全和句子大写
[assembly: ResolutionGroupName("Sushi")]
[assembly: ExportEffect(typeof(CapsEntrytEffect), "CapsEntrytEffect")]
<Entry Placeholder="Enter text here">
<Entry.Keyboard>
<Keyboard x:FactoryMethod="Create">
<x:Arguments>
<KeyboardFlags>CapitalizeWord</KeyboardFlags>
</x:Arguments>
</Keyboard>
</Entry.Keyboard>