0

今回は、ヘルプウィンドウのミニアプリケーション(他のプロジェクトに含めるための画像編集アプリケーション)に取り組んでいます。

2つの列とその間にグリッドスプリッターがあるグリッドがあります。左側にはいくつかのノード(XAMLで設定)を含むツリービューがあり、右側にはフロードキュメントリーダーがあります。

フロードキュメントリーダーに表示したいドキュメントをノードごとに1つずつ保持する、約10のリソース辞書があります。私は実際にこれをバインドする方法がわかりません!誰かが私がこれをどのように行うことができるか考えていますか?これまでの私のコード(追加されたresourcedictionaryは1つだけ)

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

4

1 に答える 1

0

ノードの Tag プロパティを使用して、ロードする文字列値を定義できます。次に、選択したノードのタグでバインディングを行います。

その後、コンバーターを使用すると、file/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" />
于 2011-12-20T15:46:32.853 に答える