2011-10-31 75 views
0

我正在Silverlight 4應用程序中工作。我有一個我想打印的數據網格。我試圖用davidpoll打印功能使用davidpoll.com收集打印機進行silverlight打印

目前,我打印只是DataGrid標題,但沒有項目被印刷

<SLaB:CollectionPrinter x:Name="printer" ItemsSource="{Binding CurrentSearchView}" > 
     <SLaB:CollectionPrinter.BodyTemplate> 
      <DataTemplate> 
       <sdk:DataGrid x:Name="dgResults" VerticalAlignment="Stretch" SelectionMode="Single" HorizontalAlignment="Stretch" AutoGenerateColumns="False" ItemsSource="{Binding CurrentSearchView}" IsReadOnly="True" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Disabled" Margin="10" FontSize="12" FontFamily="Segoe UI" > 
        <sdk:DataGrid.Columns> 
         <sdk:DataGridTextColumn Binding="{Binding PeopleId}" Header="People ID" Width="150"/> 
         <sdk:DataGridTextColumn Binding="{Binding Name}" Header="Name" Width="*" MinWidth="80"/> 
         <sdk:DataGridTemplateColumn Header="FQ" Width="80"> 
          <sdk:DataGridTemplateColumn.CellTemplate> 
           <DataTemplate> 
            <StackPanel x:Name="spFq" Background="{Binding FqBackground}" Margin="2"> 
             <Image Source="{Binding FqImagePath}" Margin="4" Height="24" Width="24"/> 
            </StackPanel> 
           </DataTemplate> 
          </sdk:DataGridTemplateColumn.CellTemplate> 
         </sdk:DataGridTemplateColumn> 
         <sdk:DataGridTemplateColumn Header="LQ" Width="80" CellStyle="{StaticResource BrowseQualityCellStyle}"> 
          <sdk:DataGridTemplateColumn.CellTemplate> 
           <DataTemplate> 
            <StackPanel x:Name="spLq" Orientation="Horizontal" Background="{Binding LqBackground}" Margin="2" > 
             <myControls:PlayButtonControl x:Name="playControl" Margin="4" Height="24" Width="24" /> 
             <Image Source="{Binding LqImagePath}" Margin="4" Height="16" Width="16"/> 
            </StackPanel> 
           </DataTemplate> 
          </sdk:DataGridTemplateColumn.CellTemplate> 
         </sdk:DataGridTemplateColumn> 
         <sdk:DataGridTextColumn Binding="{Binding Format}" Header="Format" Width="Auto"/> 
         <sdk:DataGridTextColumn Binding="{Binding Duration}" Header="Duration" Width="Auto"/> 
         <sdk:DataGridTextColumn Binding="{Binding Attachment}" Header="Attachment" Width="Auto"/> 
         <sdk:DataGridTextColumn Binding="{Binding Restore}" Header="Restore" Width="Auto"/> 
        </sdk:DataGrid.Columns> 
       </sdk:DataGrid> 
      </DataTemplate> 
     </SLaB:CollectionPrinter.BodyTemplate> 
    </SLaB:CollectionPrinter> 

這裏是按鈕命令

<Button Command="{Binding PrintCommand, ElementName=printer}">Print</Button> 

注意collectionprinter和datagrid都引用相同的屬性CurrentSearchView,它是一個PagedCollectionView。我認爲我的問題在那裏,也許我無法使用這種類型的集合(我也嘗試使用可觀察的集合並找到相同的結果),或者我的綁定是錯誤的(兩個控件都引用相同的屬性, t看起來不錯)

任何幫助將不勝感激。

謝謝

+1

我發現了這個問題。我需要設置數據網格綁定到「CurrentItems」 MCS

回答

1

我發現了這個問題。我需要設置數據網格綁定到「CurrentItems」

<sdk:DataGrid x:Name="dgResults" VerticalAlignment="Stretch" SelectionMode="Single" HorizontalAlignment="Stretch" AutoGenerateColumns="False" ItemsSource="{Binding CurrentItems}" IsReadOnly="True" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Disabled" Margin="10" FontSize="12" FontFamily="Segoe UI" >