Привязать FlowDocument к моему FlowDocumentScrollViewer - PullRequest
2 голосов
/ 14 декабря 2010

Я немного новичок в WPF / XAML, так что это, вероятно, очень очевидный вопрос.

Я добавил в проект новый элемент типа FlowDocument. Давайте назовем это CrappyFlowDocument.xaml:

<FlowDocument xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              ColumnWidth="400" FontSize="14" FontFamily="Georgia">
    <Paragraph>
        Woo, my first paragraph!
    </Paragraph>
</FlowDocument>

Я поместил его в отдельный файл, потому что я хочу избежать размещения больших кусочков текста в середине моего PrettyInfoWindow.

Теперь, в моем PrettyInfoWindow, я в тупике.

<FlowDocumentScrollViewer x:Name="flowDocViewer" Margin="0,0,0,0" Background="#FF414141" Zoom="80" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Disabled" IsSelectionEnabled="False">
     <!-- What do I put here-abouts to get my CrappyFlowDocument.xaml to show? -->
</FlowDocumentScrollViewer>

Я не могу найти в сети ничего о такой функции «включения», но, вероятно, мой поиск ужасен. Если это не целевое назначение файла FlowDocument.xaml, тогда что такое?

1 Ответ

3 голосов
/ 15 декабря 2010

вот как бы я это сделал:

Во-первых, сделайте ваш CrappyFlowDocument ресурсом, добавив к нему ключ и поместив его в словарь ресурсов:

в приложении. Xaml:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="CrappyFlowDocument.xaml" />
    </ResourceDictionary>
</Application.Resources>

в вашем файле CrappyFlowDocument.xaml:

<ResourceDictionary>
    <FlowDocument x:Key="MyCrappyFlowDoc"
                  ColumnWidth="400"
                  FontSize="14"
                  FontFamily="Georgia">
        <Paragraph>
            Woo, my first paragraph!
        </Paragraph>
    </FlowDocument>
</ResourceDictionary>

затем вызовите его напрямую как свойство «Document» FlowDocumentScrollViewer:

<FlowDocumentScrollViewer Margin="0,0,0,0"
                          Background="#FF414141"
                          Zoom="80"
                          VerticalScrollBarVisibility="Disabled"
                          HorizontalScrollBarVisibility="Disabled"
                          IsSelectionEnabled="False"
                          Document="{StaticResource MyCrappyFlowDoc}" />

Мне не известен более простой способ сделать это, надеюсь, это подойдет вашим потребностям

...