簡體   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