Печать Silverlight с использованием ListBox - PullRequest
0 голосов
/ 27 декабря 2011

Мне нужно распечатать сложный документ с подкачкой из silverlight.Я нашел хороший проект из http://silverlightreporting.codeplex.com/. Играя на этом примере, я обнаружил, что более сложные шаблоны работают не правильно:

Я добавил свойство ChildNames:

  public class EmployeeReviewReportItem
    {
        public string LastName { get; set; }
        public string FirstName { get; set; }

        public string Street { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string Zip { get; set; }

        public int PerformanceRating { get; set; }
        public decimal Salary { get; set; }
        public decimal Bonus { get; set; }

        public string ReviewComments { get; set; }

        public string[] ChildNames { set; get; }
}

в ReportData.cs установите значение для этого свойства:

ChildNames = new string[] { firstNames.Random(), firstNames.Random(), firstNames.Random() } 

, а затем в MainPage.xaml новый ListBox для отображения этого свойства:

...
   <TextBlock Grid.Row="2"
                                   Grid.ColumnSpan="4"
                                   TextWrapping="Wrap"
                                   Text="{Binding ReviewComments}" />

                            <ListBox Grid.Row="3" Grid.ColumnSpan="4" ItemsSource="{Binding ChildNames}">
                             <ListBox.ItemTemplate>
                                <DataTemplate>
                                        <TextBlock Width="300"
                                                       Height="auto"
                                                       VerticalAlignment="Top"
                                                       Text="{Binding .}"
                                                       TextWrapping="Wrap" />
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>
                    </Grid>
...

ListBox будет отображаться без содержимого.

Как напечатать имена детей?

1 Ответ

0 голосов
/ 28 декабря 2011

Работает ли {Binding .}? Я никогда не видел это (конечно, это не значит, что это неправильно). Я бы просто использовал {Binding} вместо этого. Если это не сработает, попробуйте изменить string[] на ObservableCollection<string>, а также сделать привязку двухсторонней: ItemsSource="{Binding ChildNames, Mode=TwoWay}".

Не видя полного исходного кода, я не могу больше чем-то помочь.

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