public static FileTransfer AddNewFileTransfer(this FlowDocument doc, Tox tox, int friendnumber, int filenumber, string filename, ulong filesize, bool is_sender) { FileTransferControl fileTransferControl = new FileTransferControl(tox.GetName(friendnumber), friendnumber, filenumber, filename, filesize); FileTransfer transfer = new FileTransfer() { FriendNumber = friendnumber, FileNumber = filenumber, FileName = filename, FileSize = filesize, IsSender = is_sender, Control = fileTransferControl }; Section usernameParagraph = new Section(); TableRow newTableRow = new TableRow(); BlockUIContainer fileTransferContainer = new BlockUIContainer(); fileTransferControl.HorizontalAlignment = HorizontalAlignment.Stretch; fileTransferControl.HorizontalContentAlignment = HorizontalAlignment.Stretch; fileTransferContainer.Child = fileTransferControl; usernameParagraph.Blocks.Add(fileTransferContainer); usernameParagraph.Padding = new Thickness(0); TableCell fileTableCell = new TableCell(); fileTableCell.ColumnSpan = 2; fileTableCell.Blocks.Add(usernameParagraph); newTableRow.Cells.Add(fileTableCell); fileTableCell.Padding = new Thickness(0, 10, 0, 10); TableRowGroup MessageRows = (TableRowGroup)doc.FindName("MessageRows"); MessageRows.Rows.Add(newTableRow); return transfer; }