2017-04-11 56 views
0

我正在制作一个可移植的Xamarin项目。我在班级藏匿以下列表:绑定到静态列表和属性xamarin形式

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

和类组:

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

在XAML另一页我要绑定到一个静态列表。我有我想要绑定到组列表一个ListView:

<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。

+0

Wha问题是什么?为什么它不起作用? – Demitrian

+0

我不知道,它不显示我的组列表;(,我是否以正确的方式编写代码,我错过了什么@Demitrian – taysonn

+0

你如何将项目添加到列表中?此刻它将是空的 –

回答

0

以下绑定不正确。你并不需要

<ListView ItemsSource="{Binding Source={x:Static local:Stash.Groups}}" 

你应该将其更改为

<ListView ItemsSource="{Binding {x:Static local:Stash.Groups}" 

Databinding Xamarin ListView

+0

其工作,我刚刚删除IsGroupingEnabled =“true”,它的工作原理,但无论如何,也许你可以帮助我使这个列表水平显示?@Joshua Poling – taysonn

+0

你必须要更具体的请求列表视图不允许显示数据有其他选项,具体取决于您有多少数据,但要考虑到如果您有几件物品,它们将从屏幕上跑出。 –

0

它的工作,我只是删除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>