Ho un problema riguardante una strategia di divisione TableCell
su WPF FlowDocument
Table
.TableCell suddivisione dopo l'interruzione di pagina: parte rimanente suddivisa perde le proprietà della cella originale
Questo vuole essere un semplice codice che permette di riprodurre il problema:
MainWindow.xaml.cs
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var table = new Table() { BorderThickness = new Thickness(1), BorderBrush = Brushes.Black, CellSpacing = 0 };
var rowGroup = new TableRowGroup();
var tableRow = new TableRow();
var cell1 = new TableCell() { Background = Brushes.Red, BorderThickness = new Thickness(0, 0, 1, 0), BorderBrush = Brushes.Black };
var cell2 = new TableCell() { Background = Brushes.Red };
cell1.Blocks.Add(new Paragraph(new Run("Cell 1 ******************************************************************************")));
cell2.Blocks.Add(new Paragraph(new Run("Cell 2")));
tableRow.Cells.Add(cell1);
tableRow.Cells.Add(cell2);
rowGroup.Rows.Add(tableRow);
table.RowGroups.Add(rowGroup);
var flowDocument = new FlowDocument();
flowDocument.Blocks.Add(table);
Content = flowDocument;
}
}
Ed ecco il risultato:
Come si può vedere nella seconda pagina, la cella di destra Il colore di sfondo è perso.
Qualcuno ha già riscontrato questo problema? Qualsiasi soluzione/soluzione sarà ben accetta!
Edit 1: Tutte le proprietà si perdono in modo da impostare il colore di sfondo sulla riga/colonna non risolverà il mio problema (ho principalmente questioni riguardanti TableCell Border Spessori)
Ecco una schermata che mostra il problema con bordi:
Edit 2: Guardando Visual Tree è abbastanza istruttiva. Il processo di impaginazione sembra generare solo un ParagraphVisual per la riga nella seconda pagina, spiegando così la perdita di tutti gli effetti visivi. Non v'è alcun visivo, e quindi senza sfondo/Confini/etc ... Una soluzione potrebbe essere quella di modificare il DocumentPaginator associata al FlowDocument
Problema simile su SO: http://stackoverflow.com/questions/1707363/flowdocument-force-a-pagebreak-breakpagebefore – milivojeviCH
Thx per la modifica del codice. Dimostra un po 'di più qual è il problema e come le proprietà di impostazione su Riga/Colonne non possono risolverlo. – Sisyphe