2011-05-25 64 views
2

在Silverlight中,我試圖構建報表列表框,並試圖在外部報表列表框的數據模板的列表框中顯示報表參數。Silverlight - 在列表框模板中綁定列表框

下面是數據類:

public class Report 
{ 
    public string Title { get; set; } 
    public string Description { get; set; } 
    public List<ReportParameter> Parameters = new List<ReportParameter>(); 
} 

public class ReportParameter 
{ 
    public string Name { get; set; } 
    public string ParameterType { get; set; } 
    public bool Required { get; set; } 
} 

這裏是我試圖用做它的XAML:

<ListBox x:Name="lstReports">    
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <Border> 
        <StackPanel> 
         <TextBlock Text="{Binding Title}"/>        
         <ListBox ItemsSource="{Binding Parameters}" Height="60" Width="60"> 
          <ListBox.ItemTemplate> 
           <DataTemplate> 
            <TextBlock Text="{Binding Name}"/> 
           </DataTemplate> 
          </ListBox.ItemTemplate>         
         </ListBox> 
        </StackPanel> 
       </Border> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

爲報告工作的標題綁定,但其內每個報告的列表框都是空的。

填充參數列表。

我在做什麼錯?

謝謝!

回答

3

您的「參數」列表是公共字段不是屬性,silverlight只能綁定到屬性而不是字段。嘗試改變你的班級:

public class Report 
{ 
    public Report() 
    { 
     Parameters = new List<ReportParameter>(); 
    } 

    public string Title { get; set; } 
    public string Description { get; set; } 
    public List<ReportParameter> Parameters { get; set; } 
} 

這應該按照你想要的方式工作。

+0

謝謝Viggity!像魅力一樣工作! – 2011-05-25 17:01:52

+0

高興地幫助:) – viggity 2011-05-27 13:11:14

+0

感謝x1000!只有我和谷歌4小時才能找到... – Matt 2014-01-15 19:59:57