1

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

代码 :

namespace ViewModels

open ViewModule


type MainViewModel() as this =
    inherit ViewModelBase()

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

    member this.LaunchBtn = launch()

PS 我已经有 ViewModule 参考

4

1 回答 1

1

文件的 ViewModule 源代码中Factory.fs,有一条注释:

F# API 由具有以下签名的成员通过 ViewModule.FSharp 命名空间中的扩展方法实现:

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

open ViewModule.FSharp

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

于 2018-08-03T12:34:45.630 回答