将数据绑定到流文档

时间:2015-01-02 09:49:17

标签: c# wpf xaml data-binding flowdocument

我正在使用.NET 4.5,我喜欢将数据绑定到flowdocument。但它会产生一些问题。

第一种情况是我通过xaml加载文档:

<FlowDocument>
    <Paragraph>
        <Run Text="{Binding FirstName, FallbackValue='error on binding'}" />
    </Paragraph>
</FlowDocument>    

当我加载它并将DataContext作为

document = ... as FlowDocument;
document.DataContext = MyObject;

结果是,显示了绑定定义的FallbackValue(表示显示值'绑定时出错')。那对我说,数据绑定会发生一些事情,但不是我想要的('FirstName'属性的值)。

第二种情况是我通过代码创建文档:

var inline = new Run();
inline.DataContext = SelectedPerson;

var binding = new Binding("FirstName");
binding.FallbackValue = "an error occurred";

inline.SetBinding(Run.TextProperty, binding);

var block = new Paragraph(inline);
document = new FlowDocument(block);

有效!但是当我在设置绑定后设置DataContext时它没有。然后再次显示值'绑定错误'。

最后我想通过包含所有绑定定义的xaml文件加载文档,设置DataContext(不明确知道哪些绑定在里面)。它似乎非常接近这一点,但我不能采取最后一步。

有人知道怎么做吗?

祝你好运, 托

0 个答案:

没有答案