Utilizzo di FlowDocument di WPF, ho eseguito una serie di situazioni in cui ho bisogno di un maggiore controllo sul layout del documento, da cose semplici (intestazioni di pagina e piè di pagina) a più complesse (note a piè di pagina, flusso di storie in stile rivista) a anche più complesso (testi letterari con apparati critici - uno dei miei requisiti effettivi).Quali sono le opzioni per il layout del documento in WPF?
Tuttavia, per quanto ne so, le mie uniche opzioni sono:
A. Usa FlowDocument e perdere ogni controllo sul layout.
B. Scrivi tutto da zero utilizzando TextFormatter.
A non è un'opzione per me, e B richiede l'implementazione di dozzine di metodi e, soprattutto, la perdita della potenza di FlowDocument e dei suoi Visualizzatori associati.
La mia domanda è:
C'è qualche alternativa che mi permetterà di sfruttare la potenza di FlowDocument, che copre il 90% delle mie esigenze di layout, e solo scrivere il codice necessario per implementare il restante 10%?
MODIFICA: l'aspetto riflettente di FlowDocument è fondamentale per me. Capisco che sto chiedendo sia il contenuto riciclabile che il controllo preciso sul layout, che sono in qualche modo contraddittori. Tuttavia, so che può essere fatto - Ho scritto una semplice implementazione usando TextFormatter che realizza ciò che voglio, ma preferirei usare FlowDocument con qualche tipo di estensione per evitare di reimplementare ogni funzionalità.
MODIFICA 2: Sembra che quello che sono veramente dopo è un gancio nell'impaginatore interno di FlowDocument, in modo che possa dargli istruzioni per la disposizione di una classe personalizzata. C'è un modo per farlo?
grazie. Il problema è che Floater non consente il controllo sul posizionamento e Figure insiste nel mantenere tutto in un'unica pagina. Ho bisogno di una combinazione dei due. – yclevine
Per flusso stile rivista intendo storie che continuano nelle pagine successive con altri contenuti in mezzo. – yclevine
hmmm Non so quindi, potresti creare la tua figura di floater personalizzata derivata da Inline e scrivere da te il codice specializzato ... Ciò significherebbe che otterresti funzionalità personalizzate senza dover riscrivere l'intero sistema di visualizzazione del testo –