2011-05-17 41 views
2

我对这个FlowDocument的东西很陌生,所以我非常愿意接受我做错了什么。据说,我已经写了一个FlowDocument,它存在于我的项目中作为一个XAML文件。WPF/C# - 从XAML以编程方式创建FlowDocument?

这很简单,只要我刚开始就可以了:

<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> 

现在我想这样做,通过我的代码是什么,是让该文件的引用,所以我可以设置绑定到一个模型,以设置图像源。有人能指点我如何instanciate和加载在代码背后的FlowDocument?

由于提前,
桑尼

回答

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); 

的最后一点的解释见this answer

它显示了如何从资源加载文档并使用绑定添加内容。

+0

完美!谢谢。 – 2011-05-17 18:07:22

+0

不客气! – 2011-05-17 18:42:24