2009-11-26 56 views
1

所有,綁定列表框在Silverilght不工作

名單上有什麼我認爲這是可能的數據在Silverlight中綁定的最簡單的例子......但很顯然,即使是太複雜,我:)

在XAML:

<UserControl x:Class="SilverlightApplication1.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480"> 
<ListBox x:Name="rblSessions"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Text="{Binding SessionTitle}" Foreground="Black" FontSize="30" /> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

背後的代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 

namespace SilverlightApplication1 
{ 
    public partial class MainPage : UserControl 
    { 
     public MainPage() 
     { 
      InitializeComponent(); 

      List<Sessions> theSessions = makeSessions(); 
      rblSessions.ItemsSource = theSessions; 
      rblSessions.DataContext = theSessions; 

     } 

     public List<Sessions> makeSessions() 
     { 
      List<Sessions> theReturn = new List<Sessions>(); 
      for (int i = 0; i < 20; i++) 
      { 
       Sessions s = new Sessions() { SessionID = i, SessionTitle = string.Format("title{0}", i) }; 
       theReturn.Add(s); 
      } 
      return theReturn; 
     } 

    } 

    public class Sessions 
    { 
     public int SessionID; 
     public string SessionTitle; 
    } 
} 

當我運行應用程序,我得到的是20元一個列表框,但每個元素都是空的,只有約5像素高(雖然我設置字號爲「30」)

我在做什麼錯誤?請幫助和感謝

/喬納森

回答

1

你必須讓你的會話類成員爲特性,以便在結合使用它們。這應該解決它:

public class Sessions 
{ 
    public int SessionID { get; set; } 
    public string SessionTitle { get; set; } 
} 
+0

哦,我的!我是如何忽略這一點的?非常感謝* so * /jonathan – Jonathan 2009-11-26 19:05:01