我有一个带有一百多个数据的选择器。我要搜索特定项目。如何在选择器弹出窗口中添加条目?可能吗?如果不是,在选择器中搜索数据的最佳替代方法是什么?
答案 0 :(得分:0)
您想要的内容可能可以通过自定义渲染器完成,但是我个人不知道该怎么做...
如果要在选择器中使用自定义功能,我强烈建议Rg.Plugins.Popup
。该软件包允许用户定义自己的自定义弹出窗口。我在我开发的应用程序中的所有 Popup 页面/控件中都使用了此功能。
GitHub: Rg.Plugins.Popup
用Entry
和ListView
定义PopupPage,您可以提供所需的功能。
答案 1 :(得分:0)
还没有开箱即用的解决方案。但是可以使用 rg.plugins.popup 。(https://github.com/rotorgames/Rg.Plugins.Popup)来实现带有搜索栏的选择器。 创建带有标签和向下箭头的视图,为此提供单击,在该单击事件中调用rg.popup。
参考弹出窗口的设计。
<?xml version="1.0" encoding="utf-8" ?>
<pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="iVerify.Sample"
xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
xmlns:animations="clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"
BackgroundColor="Transparent" >
<pages:PopupPage.Animation>
<animations:ScaleAnimation
PositionIn="Center"
PositionOut="Center"
ScaleIn="1.2"
ScaleOut="0.8"
DurationIn="400"
DurationOut="300"
EasingIn="SinOut"
EasingOut="SinIn"
HasBackgroundAnimation="False"/>
</pages:PopupPage.Animation>
<StackLayout VerticalOptions="Center" Padding="10" HorizontalOptions="FillAndExpand" Margin="0,20,0,0" >
<StackLayout>
<SearchBar x:Name="Searchbar" />
</StackLayout>
<StackLayout>
<ListView x:Name="ListView" ItemsSource="{Binding}"
ItemSelected="List_Tapped">
ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
// Your controls
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</StackLayout>
</StackLayout>
</pages:PopupPage>
通过使用Itemselected属性,您可以获取点击视图的值。然后将其设置为Mainpage的标签(按一下即可打开弹出窗口的标签)。这可以通过将messeging center来实现。 屏幕截图示例