【问题标题】:Xamarin Forms - Picker set selected itemXamarin Forms - 选取器设置选定项
【发布时间】:2018-11-27 14:05:38
【问题描述】:

我有一个选择器,用于更新用户/零售商的当前地址。选定的值来自我的数据库我想设置我的选择器的选定项。

我的 XAML:

<local:CustomPicker x:Name="provincePicker" SelectedIndexChanged="provincePicker_SelectedIndexChanged" Unfocused="provincePicker_Unfocused" SelectedItem="{Binding DisplayText}" ItemsSource="{Binding ProvinceID}" ItemDisplayBinding="{Binding DisplayText}" StyleClass="fieldForm" IsEnabled="True">
<local:CustomPicker.FontFamily>
     <OnPlatform x:TypeArguments="x:String">
         <On Platform="Android" Value="HelveticaNeueLTPro-Lt.otf#HelveticaNeueLTPro-Lt"/>
     </OnPlatform>
</local:CustomPicker.FontFamily>

XAML.CS

var getCode = conn.QueryAsync<RetailerGroupTable>("SELECT * FROM tblRetailerGroup WHERE RetailerCode=?", code);
var resultCount = getCode.Result.Count;

if (resultCount > 0)
{
   var result = getCode.Result[0];
   provincePicker.SelectedItem = result.ProvinceID;
}

【问题讨论】:

  • 从 ItemsSource="{Binding ProvinceID}" 开始,您似乎没有正确设置 ItemsSource。它应该设置为某个 IEnumerable,而不是单个值。然后 SelectedItem 应该设置为 ItemsSource 集合中的一个元素
  • @Jason 你能告诉我如何解决这个问题吗?
  • @Jason 我可以列出省份,但我无法从数据库中选择值
  • 你是否也在代码中分配了ItemsSource?

标签: xamarin xamarin.forms


【解决方案1】:

这些是配置Picker 所涉及的关键属性

  • ItemsSource 这应该是IEnumerable&lt;T&gt;,即List&lt;MyClass&gt;ObservableCollection&lt;MyClass&gt;
  • SelectedItem - 这应该设置为包含在 ItemsSource 集合中的对象
  • ItemDisplayBinding - 这是MyClass 的属性名称,将在Picker 中显示给用户

【讨论】:

    猜你喜欢
    • 2022-01-07
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 2017-03-05
    • 2016-08-04
    • 2018-04-02
    • 2015-02-27
    相关资源
    最近更新 更多