f#xaml“ this.factory”不包含CommandSync

时间:2018-08-03 11:16:05

标签: wpf f# fsxaml fsharp.viewmodule

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

代码:

namespace ViewModels

open ViewModule


type MainViewModel() as this =
    inherit ViewModelBase()

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

    member this.LaunchBtn = launch()

P.S我已经有了ViewModule参考

1 个答案:

答案 0 :(得分:1)

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

  

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

这些扩展方法中列出了

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

open ViewModule.FSharp

您的代码。完成此操作后,我认为CommandSync方法(以及Factory属性上的所有其他方法)应该对您可用。