xamarin.forms - 在 Xamarin.Forms SearchBar 中禁用 iOS 自动完成功能
问题描述
我有一个Xamarin.Forms SearchBar来搜索远程服务器上的信息。此数据显示在搜索栏下方的 ListView 中,如下所示:
伪代码:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage ... >
<ContentPage.Content>
<StackLayout>
<SearchBar
x:Name="SearchBar"
Placeholder="Search for a business..."
HorizontalTextAlignment="Start"
SearchCommand="{Binding PerformSearch}"
SearchCommandParameter="{Binding Text, Source={x:Reference SearchBar}}">
</SearchBar>
<ListView
x:Name="SearchResults"
ItemsSource="{Binding Path=SearchResults}"
...
>
</ListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>
是否可以禁用键盘中的自动完成/自动更正?我知道Text.Entry 可以将 IsTextPredictionEnabled 设置为 false,但我看不到以类似方式配置 SearchBar 的方法。
解决方案
是的,根据SearchBar Properties, InputView 的键盘是公开的。因此,与此答案类似,可以在 XAML 中通过使用以下x:FactoryMethod
属性来实现:
<SearchBar
x:Name="SearchBar"
Placeholder="Search for a business..."
HorizontalTextAlignment="Start"
SearchCommand="{Binding PerformSearch}"
SearchCommandParameter="{Binding Text, Source={x:Reference SearchBar}}">
<SearchBar.Keyboard>
<Keyboard x:FactoryMethod="Create">
<x:Arguments>
<KeyboardFlags>None</KeyboardFlags>
</x:Arguments>
</Keyboard>
</SearchBar.Keyboard>
</SearchBar>
推荐阅读
- javascript - 结构中的 samplerCube 导致 GL_INVALID_OPERATION
- statistics - A/B 测试中需要进行 bonferroni 校正
- android-studio - 如何将 Gitlab 项目导入 Android Studio
- javascript - android 应用程序中的 CORS 原始请求被阻止
- excel - Excel宏用变量替换标签
- django - 如何在 django 模型中为每个用户提供一个计数器字段?
- c# - 如何在第一次或第二次通话时从 USB 调制解调器串行端口获取来电显示
- javascript - indexeddb/localforage 读取是否从同步缓冲区解析?
- android - 尽管我的笔记本电脑没有检测到我的安卓设备
- java - 无法在 Amazon EC2 实例上运行战争文件