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 属性 上的所有其他方法)。
我在使用 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 属性 上的所有其他方法)。