Mam problem ze strategią dzielenia TableCell
dla WPF FlowDocument
Table
.TableCell split po stronie break: reszta podzielona część traci oryginalne właściwości komórki
Oto prosty kod pozwalający odtworzyć problem:
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;
}
}
A oto wynik:
jak ty widać na drugiej stronie, właściwa komórka Kolor tła jest tracony.
Czy ktoś już napotkał ten problem? Każde rozwiązanie/obejście będzie mile widziane!
Edit 1: Wszystkie właściwości są tracone więc ustawienie koloru tła na wiersz/kolumna nie rozwiąże mój problem (mam głównie problemy dotyczące TableCell granicznej grubości)
Tutaj jest ekran pokazujący problem z granicami:
Edit 2: Patrząc na Visual drzewo jest dość pouczająca. Wydaje się, że proces stronicowania generuje tylko akapit ParagraphVisual dla wiersza na drugiej stronie, wyjaśniając w ten sposób utratę wszystkich efektów wizualnych. Nie ma audiowizualny, a tym samym bez tła/Granice/etc ... rozwiązanie może być Wykręcanie DocumentPaginator powiązanych z FlowDocument
Podobny problem na stronie: http://stackoverflow.com/questions/1707363/flowdocument-force-a-pagebreak-breakpagebefore – milivojeviCH
Thx do edycji kodu. To pokazuje nieco więcej, czym jest problem i jak nie można go rozwiązać, ustawiając właściwości w wierszu/kolumnie. – Sisyphe