2011-05-17 4 views
2

Je suis un peu nouveau dans ce FlowDocument, donc je suis parfaitement prêt à accepter que je fais quelque chose de mal. Cela dit, j'ai écrit un FlowDocument qui existe dans mon projet sous la forme d'un fichier XAML.WPF/C# - Créer un document FlowDocument à partir de XAML?

Il est très simple pour autant que je viens de commencer là-dessus:

<FlowDocument xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       ColumnWidth="400" FontSize="14" FontFamily="Georgia"> 
    <Table> 
     <Table.Columns> 
      <TableColumn Width="*" /> 
      <TableColumn Width="*" /> 
      <TableColumn Width="*" /> 
     </Table.Columns> 

     <TableRowGroup> 
      <TableRow> 
       <TableCell> 
        <BlockUIContainer> 
         <Image Source="{Binding Logo}" /> 
        </BlockUIContainer> 
       </TableCell> 
      </TableRow> 
     </TableRowGroup> 
    </Table> 
</FlowDocument> 

Maintenant, ce que je voudrais faire, via mon code, est d'obtenir une référence à ce document pour que je puisse mettre la liaison à un modèle afin de définir la source d'image. Quelqu'un peut-il me diriger dans la direction de comment instancier et charger un FlowDocument dans le code derrière?

Merci à l'avance,
Sonny

Répondre

3
var flowDocument = 
    (FlowDocument)Application.LoadComponent(
     new Uri(@"SomeFlowDocument.xaml", UriKind.Relative)); 

flowDocument.DataContext = this; 

Dispatcher.CurrentDispatcher.Invoke(
    DispatcherPriority.SystemIdle, 
    new DispatcherOperationCallback(arg => null), null); 

Voir this answer pour une explication de ce dernier bit.

Il montre comment charger le document à partir d'une ressource et ajouter du contenu en utilisant des liaisons.

+0

Parfait! Je vous remercie. –

+0

Vous êtes les bienvenus! –

Questions connexes