绑定到静态列表和属性Xamarin Forms

3

我正在制作一个便携式的Xamarin项目。在Stash类中,我有以下List:

public class Stash
{      
    public static List<Group> Groups { get; set; }
}

还有一个名为Group的类:

public class Group
{
    [JsonProperty(PropertyName ="Name")]
    public string Name { get; set; }
    [Newtonsoft.Json.JsonProperty("Id")]
    public string GroupId { get; set; }
}

在XAML中的另一页中,我想要绑定到一个静态列表。我有一个ListView控件,希望它可以绑定到Group List:

<ListView ItemsSource="{Binding Source={x:Static local:Stash.Groups}}"
    IsGroupingEnabled="true">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextCell Text="{Binding Name}" TextColor="Black"
                Detail="{Binding GroupId}" DetailColor="Aqua">
            </TextCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

我在XAML中本地定义了命名空间:

xmlns:local="clr-namespace:Namespace"

我的列表是从 Sql Azure 数据库中填充的,所以它不是空的,大家能告诉我我的代码有什么问题吗?我似乎无法在屏幕上显示列表,所有显示的只是这个句子 Namespace.Group。


有什么问题吗?为什么它不起作用? - Demitrian
我不知道,它没有为我显示组列表;(我写的代码对吗?我有什么遗漏吗?@Demitrian - taysonn
我将这些项目存储在Azure账户数据库中,每个用户都有自己的数据。因此,当用户登录时,应该显示其所属的用户组。@AppPack - taysonn
我使用列表,因为我不想更改值,它们将是固定的值,并且我的数据在Azure上的SQL中。在UI中,我看到命名空间名称而不是组名称。我编写的绑定静态列表的代码是我第一次编写的,这个绑定正确吗?我是否遗漏了某些语法?@Demitrian - taysonn
1
是的,看起来没问题。我建议你根据你所得到的问题更新你的问题。这样做,那么其他人阅读你的问题时就可以提供答案,而不必查看评论。 - Demitrian
显示剩余10条评论
2个回答

2
以下绑定是不正确的。您不需要
<ListView ItemsSource="{Binding Source={x:Static local:Stash.Groups}}"

你应该将这个改为:
<ListView ItemsSource="{Binding {x:Static local:Stash.Groups}"

Xamarin ListView的数据绑定


它正在工作,我只是删除了IsGroupingEnabled="true",然后它就可以工作了,但还是谢谢你。也许你可以帮我把这个列表水平显示吗?@Joshua Poling - taysonn
您需要更具体地说明请求。列表视图不允许横向显示数据。根据您拥有的数据量,还有其他选项可供选择,但请注意,如果您有几个项目,它们将超出屏幕范围。 - Joshua Poling

2

它正在工作,我只是去掉了IsGroupingEnabled="true",然后它就可以工作了。

<ListView ItemsSource="{Binding Source={x:Static local:Stash.Groups}}">
<ListView.ItemTemplate>
    <DataTemplate>
        <TextCell Text="{Binding Name}" TextColor="Black"
            Detail="{Binding GroupId}" DetailColor="Aqua">
        </TextCell>
    </DataTemplate>
</ListView.ItemTemplate>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接