2017-04-11 62 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>