f# xaml "this.factory" 不包含 CommandSync

f# xaml "this.factory" does not contain CommandSync

我在使用 fsxaml 和 F# 时遇到一个奇怪的错误。我有一个视图模型,我想从工厂 属性 调用 CommandSync,但它不可用。实际上它是空的,没有可用的功能。我在这里错过了什么?

代码:

namespace ViewModels

open ViewModule


type MainViewModel() as this =
    inherit ViewModelBase()

    let launch() = this.Factory.CommandSync(fun _ -> ())

    member this.LaunchBtn = launch()

P.S 我已经有了 ViewModule 参考

the ViewModule source in the Factory.fs file中有评论:

The F# API is implemented with members having the following signatures via extension methods in the ViewModule.FSharp namespace:

并且 CommandSync 列在这些扩展方法中。由于它们是扩展方法,因此在 ViewModule.FSharp 命名空间打开之前它们将不可用。您已经打开了 ViewModule 命名空间,但您可能还需要添加:

open ViewModule.FSharp

到你的代码。一旦你这样做了,我认为你应该可以使用 CommandSync 方法(以及 Factory 属性 上的所有其他方法)。