我有一个xamarin表单应用程序,我想使用搜索栏控件,焦点将拉出一个选择器。无论如何我可以扩展搜索栏以提供此功能吗?换句话说,我不希望用户在搜索栏框中输入文本,而是从选择列表中选择它。任何例子都将不胜感激。
答案 0 :(得分:0)
当您在元素上调用Focus()时,会显示Picker对话框,因此您可以放置一个隐藏的Picker,并从ToolbarItem的Click Handler调用该方法。
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.Views.MyPage"
Title="My Page Title"
x:Name="MyPage">
<ContentPage.ToolbarItems>
<ToolbarItem Text="ShowPicker" Clicked="ShowPicker">
</ToolbarItem>
</ContentPage.ToolbarItems>
<ContentPage.Content>
<DatePicker x:Name="MyPicker" IsVisible="false" />
</ContentPage.Content>
</ContentPage>
namespace MyApp.Views
{
public partial class MyPage : ContentPage
{
public ItemsPage()
{
InitializeComponent();
}
void ShowPicker(object sender, EventArgs e)
{
MyPicker.Focus();
}
}
}
答案 1 :(得分:0)
您可以查看使用Xamarin表单的XFX控件。
https://github.com/XamFormsExtended/Xfx.Controls
在页面顶部,添加对的命名空间引用:
xmlns:xfx="clr-namespace:Xfx;assembly=Xfx.Controls"
然后按如下所示使用控件:
<!-- XfxComboBox-->
<xfx:XfxComboBox
Placeholder="Select make"
SelectedItem="{Binding SelectedVehicleMake}"
Text="{Binding Description}"
ItemsSource="{Binding AssetMakes}"/>
此控件允许绑定到项目源和选定的项目