2011-12-20 85 views
0

這次我正在開發一個幫助窗口小應用程序(包括在其他項目中,圖像編輯應用程序)。如何僅通過XAML將資源綁定到樹視圖的flowdocumentreader?

我有一個網格有兩列和一個網格中間。在左邊,我有一個樹形視圖,其中有幾個節點(在XAML中設置),右邊是一個flowdocumentreader。

我有大約10個資源緩存,其中我保留我的文檔,每個節點一個,我想在我的flowdocumentreader中顯示。我其實不知道如何綁定這個!任何人有一個想法,我怎麼能做到這一點?到目前爲止我的代碼(只有一個ResourceDictionary中添加)

 <Window.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary x:Name="About" Source="About.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Window.Resources> 
<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="auto"/> 
     <ColumnDefinition Width="auto"/> 
     <ColumnDefinition Width="500"/> 
    </Grid.ColumnDefinitions> 
    <GridSplitter HorizontalAlignment="Right" 
       VerticalAlignment="Stretch" 
       Grid.Column="1" ResizeBehavior="PreviousAndNext" ResizeDirection="Columns" 
       Width="5" Background="#FFBCBCBC"/> 
    <TreeView Width="250" Grid.Column="0" FontFamily="Segoe UI" FontSize="16"> 
     <TreeViewItem Header="Help"> 
      <TreeViewItem Header="About the application"></TreeViewItem> 
      <TreeViewItem Header="Getting started"></TreeViewItem> 
      <TreeViewItem Header="Images from Flickr"></TreeViewItem> 
      <TreeViewItem Header="Images from the computer"></TreeViewItem> 
      <TreeViewItem Header="Images from the browser"></TreeViewItem> 
      <TreeViewItem Header="Editing"> 
       <TreeViewItem Header="Open and Save"></TreeViewItem> 
       <TreeViewItem Header="Uploading"></TreeViewItem> 
       <TreeViewItem Header="Crop"></TreeViewItem> 
       <TreeViewItem Header="Resize"></TreeViewItem> 
       <TreeViewItem Header="Filters"></TreeViewItem> 
       <TreeViewItem Header="Adding text"></TreeViewItem> 
       <TreeViewItem Header="Remove red eyes"></TreeViewItem> 
      </TreeViewItem> 
     </TreeViewItem> 
    </TreeView> 
    <FlowDocumentReader Grid.Column="2" > 

    </FlowDocumentReader> 
</Grid> 

回答

0

您可以使用節點的標籤屬性來定義一個字符串值被加載。 然後在所選節點的標籤上進行綁定。

如果再使用一個轉換器,你可以從文件/ res.Dict您的文檔內容或什麼:

<TreeView x:Name="documentTreeView" Width="250" Grid.Column="0" FontFamily="Segoe UI" FontSize="16"> 
    <TreeViewItem Header="Help"> 
     <TreeViewItem 
     Header="About the application" 
     Tag="ResDict1.xaml"></TreeViewItem> 

....

<FlowDocumentReader Document="{Binding ElementName=documentTreeView, Path=SelectedItem.Tag, Converter={StaticResource stringToFlowDocumentConverter}}" Grid.Column="2" />