C# Xamarin.forms picker是否只接受或添加字符串,或者我们是否可以自定义它以接受视图或控件?

C# Xamarin.forms picker是否只接受或添加字符串,或者我们是否可以自定义它以接受视图或控件?,c#,xamarin,xamarin.ios,xamarin.android,xamarin.forms,C#,Xamarin,Xamarin.ios,Xamarin.android,Xamarin.forms,Xamarin.forms picker是否只接受或添加字符串,或者我们是否可以自定义它以接受视图或控件?我在为选择器中的每一行创建自定义视图(如左侧的开关)下拉列表时遇到问题?但是xamarin.forms picker并没有提供自定义其视图的功能,它只接受字符串作为DisplayProperty。我们如何实现此功能或任何更好的替代方案,如有建议,将不胜感激。XF Picker仅接受字符串。要创建下拉列表,您应该在自己的控制下创建一个弹出页面 // Use these methods in P

Xamarin.forms picker是否只接受或添加字符串,或者我们是否可以自定义它以接受视图或控件?我在为选择器中的每一行创建自定义视图(如左侧的开关)下拉列表时遇到问题?但是xamarin.forms picker并没有提供自定义其视图的功能,它只接受字符串作为DisplayProperty。我们如何实现此功能或任何更好的替代方案,如有建议,将不胜感激。

XF Picker仅接受字符串。要创建下拉列表,您应该在自己的控制下创建一个弹出页面

// Use these methods in PopupNavigation globally or Navigation in your pages

// Open new PopupPage
Task PushAsync(PopupPage page, bool animate = true) // Navigation.PushPopupAsync

// Hide last PopupPage
Task PopAsync(bool animate = true) // Navigation.PopPopupAsync

// Hide all PopupPage with animations
Task PopAllAsync(bool animate = true) // Navigation.PopAllPopupAsync

// Remove one popup page in stack
Task RemovePageAsync(PopupPage page, bool animate = true) // Navigation.RemovePopupPageAsync


<?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"
             xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
             xmlns:animations="clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"
             x:Class="Demo.Pages.MyPopupPage">
  <!--Animations use example-->
  <pages:PopupPage.Animation>
    <animations:ScaleAnimation 
      PositionIn="Center"
      PositionOut="Center"
      ScaleIn="1.2"
      ScaleOut="0.8"
      DurationIn="400"
      DurationOut="300"
      EasingIn="SinOut"
      EasingOut="SinIn"
      HasBackgroundAnimation="True"/>
  </pages:PopupPage.Animation>
  <!-- Content -->
</pages:PopupPage>
我通常使用

它很容易使用。您可以创建内容页并将其弹出。要创建下拉列表,只需将contentpage置于您的控制之下

// Use these methods in PopupNavigation globally or Navigation in your pages

// Open new PopupPage
Task PushAsync(PopupPage page, bool animate = true) // Navigation.PushPopupAsync

// Hide last PopupPage
Task PopAsync(bool animate = true) // Navigation.PopPopupAsync

// Hide all PopupPage with animations
Task PopAllAsync(bool animate = true) // Navigation.PopAllPopupAsync

// Remove one popup page in stack
Task RemovePageAsync(PopupPage page, bool animate = true) // Navigation.RemovePopupPageAsync


<?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"
             xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
             xmlns:animations="clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"
             x:Class="Demo.Pages.MyPopupPage">
  <!--Animations use example-->
  <pages:PopupPage.Animation>
    <animations:ScaleAnimation 
      PositionIn="Center"
      PositionOut="Center"
      ScaleIn="1.2"
      ScaleOut="0.8"
      DurationIn="400"
      DurationOut="300"
      EasingIn="SinOut"
      EasingOut="SinIn"
      HasBackgroundAnimation="True"/>
  </pages:PopupPage.Animation>
  <!-- Content -->
</pages:PopupPage>

我已经成功创建了popUpPage,但我的问题是我必须将该弹出页面放在另一个contentpage之间,在这两个contentpage之间我得到了xaml错误,比如-->预期视图,但得到了usercontrol。我做了一个家长。如何解决这个问题?如何将弹出窗口放置在其他页面之间。您不必将弹出窗口放置在其他页面之间,而是放置在其他页面上。试着设置WidthRequest和HeightRequest的PopupUp,这样你的PopupUp周围就应该有一个透明区域。谢谢你的宝贵建议,我可以根据我的需要定制你的想法。快乐编码!!!