繁体   English   中英

Xamarin.Forms Picker ItemDisplayBinding 不适用于 static 列表

[英]Xamarin.Forms Picker ItemDisplayBinding not working with static list

我正在使用不同的项目源尝试选择器,当我尝试使用 static 列表时,我不断收到 NullPointerException。

Xaml

<Picker ItemsSource="{x:Static Member=stat:Stat.ItemModList}"
                    ItemDisplayBinding="{Binding Name}" />

选择器是 xaml 中的唯一元素。 我没有更改文件后面的代码。 stat 是 static 列表文件的命名空间。

当仅写入<Picker ItemsSource="{x:Static Member=stat:Stat.ItemModList}" />时,选择器确实工作并且选择器项目都显示为ItemMod类的ToString()

当我添加ItemDisplayBinding="{Binding Name}时,它不起作用。当我点击选择器时,我得到了 nullpointerexception。

其他文件:

Stat.cs - Static 列表

public static class Stat
    {
        public static List<ItemMod> ItemModList = new List<ItemMod>()
        {
            new ItemMod {Id = -1, Name = "Default"},
            new ItemMod {Id = 1, Name = "Item 1"},
            new ItemMod {Id = 2, Name = "Item 2"},
            new ItemMod {Id = 3, Name = "Item 3"},
            new ItemMod {Id = 4, Name = "Item 4"}
        };
    }

ItemMod.cs

public class ItemMod
    {
        public int Id;
        public string Name;
    }

ItemDisplayBinding 不起作用,因为 BindingProperty Name在 ItemMod class 中声明为公共字段,而不是公共属性。
所以在 ItemMod.cs 它应该是public string Name {get;set;}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM