2011-05-17 42 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