使用FlowDocument的F#记录的奇怪行为

时间:2012-07-31 08:05:58

标签: f# record

我尝试在Visual Studio 2012中创建一个包含FlowDocument的F#记录类型,如下所示:

module RecordTest =
    open System.Windows.Documents

    type TestRecord =
        {
            TestName : FlowDocument
        }

    let test = { TestName = new FlowDocument () }

奇怪的是,这对我不起作用。 Visual Studio告诉我:The record label TestName is not defined.并将鼠标悬停在TestRecord的类型定义上并未显示工具提示。如果我将TestName的类型更改为例如string,一切正常。

对于FlowDocument,需要引用PresentationFramework.dll

这里发生了什么? 有人能够让这个工作吗?

感谢。

未来的读者:如果某些内容似乎不清楚或与问题不一致,请回答和评论,请注意原始问题(答案和一些评论引用的)有不同的缩进(其中影响代码)。我没有回滚编辑,因为一些注释确实引用了缩进版本。 - 7月31日,Ramon Snir

1 个答案:

答案 0 :(得分:1)

我通过在第一行之后缩进所有内容来实现这一点(NB现在已经在问题的代码示例中完成了),并添加了对PresentationCore,System.Xaml和WindowsBase以及PresentationFramework的引用。

不确定这会解释您的错误消息!

我正在使用VS2010,因此行为可能会有所不同。