在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>
报告标题的绑定有效,但每个报告的内部列表框都是空的。
填充参数列表。
我做错了什么?
谢谢!
答案 0 :(得分: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; }
}
这应该按你想要的方式工作。