3

我在主窗口中有一个复杂的 WPF Tab 控件,全部使用 C#,使用 .NET Framework。主窗口提供了一个一致的主菜单和一个包含选项卡控件的内容控件。

选项卡控件的每个选项卡使用特定于每个用户控件的视图模型呈现不同的用户控件。

在进入兔子洞之前,我需要知道 Elmish.WPF 是否可以为这种情况提供适当的 F# 支持。

在研究这些示例时,向 Elmish.WPF 的关键切换似乎发生在:

Program.mkSimpleWpf App.init App.update bindings

一旦出现主窗口和第一个选项卡,是否可以区分 init、update 和 bindings 并允许用户在选项卡之间切换?如果是这样,是否可以将新的选项卡状态“输入”到 Elmish.WPF 中?

任何帮助或建议将不胜感激。

TIA

(更复杂的是,其中一个选项卡显示了一个带有自定义装饰器的数据网格,用于列表操作)。

4

1 回答 1

5

我是 Elmish.WPF 的维护者。

我在主窗口中有一个复杂的 WPF Tab 控件,全部使用 C#,使用 .NET Framework。主窗口提供了一个一致的主菜单和一个包含选项卡控件的内容控件。

选项卡控件的每个选项卡使用特定于每个用户控件的视图模型呈现不同的用户控件。

在进入兔子洞之前,我需要知道 Elmish.WPF 是否可以为这种情况提供适当的 F# 支持。

对于这种情况,是的,应该没有问题。我们目前在 repo 中没有使用选项卡控件的示例,但一般来说,您可以在 WPF 中使用绑定(然后是一些)实现的所有功能也可以在 Elmish.WPF 中实现。如果您在学习了示例官方教程后无法使其正常工作,请在 Elmish.WPF 存储库中打开一个问题。

一旦出现主窗口和第一个选项卡,是否可以区分 init、update 和 bindings 并允许用户在选项卡之间切换?如果是这样,是否可以将新的选项卡状态“输入”到 Elmish.WPF 中?

我有点不确定你在这里问什么,但你可能对一些核心 MVU 概念感到困惑。Elmish.WPF 教程或Elmish.WPF 自述文件中提到的其他资源可能会有所帮助。一般来说,消息类型是可区​​分的联合,模型是记录。另一方面initupdatebindings作用于模型和消息的函数。

(更复杂的是,其中一个选项卡显示了一个带有自定义装饰器的数据网格,用于列表操作)。

我不是 WPF 选项卡控件方面的专家,但 AFAIK 选项卡的内容不应该以任何方式影响 Elmish.WPF 是否与选项卡控件一起使用。

于 2020-08-13T19:21:07.720 回答