0

在彻底阅读有关 flowdocuments 的文档(在 WPF 中)之后,似乎 flowdocument 不容易支持数据绑定。请说这不是真的!我有一个使用 Expression Blend 中的示例数据的列表框,并将一个文本块插入到流文档中。文本块(文本属性)被数据绑定到列表框中的字符串数据。运行项目后,我希望文本块文本随着列表框选择的变化而变化,但没有任何反应。数据绑定不起作用。使数据绑定与 flowdocument 一起工作的最简单方法是什么?

这是 XAML。

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication1.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480">
<Window.Resources>
    <DataTemplate x:Key="ItemTemplate">
        <StackPanel>
            <TextBlock Text="{Binding Property1}"/>
            </StackPanel>
    </DataTemplate>
</Window.Resources>

<Grid x:Name="LayoutRoot" DataContext="{Binding Source={StaticResource SampleDataSource}}">
    <FlowDocumentScrollViewer Margin="120,64,256,126">
        <FlowDocument>
            <Paragraph><Run Text="Only A Test"/><InlineUIContainer>
                    <TextBlock TextWrapping="Wrap" Text="{Binding Collection[0].Property1}" Height="56" Width="112"/>
                </InlineUIContainer></Paragraph>
        </FlowDocument>
    </FlowDocumentScrollViewer>
    <ListBox ItemTemplate="{DynamicResource ItemTemplate}" ItemsSource="{Binding Collection}" Margin="0,83.847,52,62.153" HorizontalAlignment="Right" Width="200"/>
</Grid>
</Window>
4

1 回答 1

1

根据2009 年 4 月的Microsoft 文档,这是不可能的:

虽然流文档有很多很棒的特性,但是如果您的文档是从动态数据生成的,那么您就有一个问题:流文档中不支持数据绑定。流文档元素(Section、Table、Run、Paragraph 等)是依赖对象,但不定义任何允许您动态更改或生成内容的依赖属性。

于 2017-07-28T08:58:50.190 回答