如何在选择器弹出窗口中添加条目? Xamarin形式

时间:2018-11-29 14:42:33

标签: xamarin xamarin.forms

我有一个带有一百多个数据的选择器。我要搜索特定项目。如何在选择器弹出窗口中添加条目?可能吗?如果不是,在选择器中搜索数据的最佳替代方法是什么?

2 个答案:

答案 0 :(得分:0)

您想要的内容可能可以通过自定义渲染器完成,但是我个人不知道该怎么做...

如果要在选择器中使用自定义功能,我强烈建议Rg.Plugins.Popup。该软件包允许用户定义自己的自定义弹出窗口。我在我开发的应用程序中的所有 Popup 页面/控件中都使用了此功能。

GitHub: Rg.Plugins.Popup

EntryListView定义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来实现。 屏幕截图示例enter image description here