Silverlight - привязка списка в шаблоне списка - PullRequest
2 голосов
/ 25 мая 2011

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

Привязка для заголовка отчета работает, но внутренний список пуст длякаждый из отчетов.

Заполнен список параметров.

Что я делаю не так?

Спасибо!

1 Ответ

3 голосов
/ 25 мая 2011

Ваш список "Параметры" является открытым полем не свойство, 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; }
}

Это должно работать так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...