gpt4 book ai didi

f# - 如何使用 Elmish.wpf 和 F# 管理多个窗口、用户控件和自定义控件?

转载 作者:行者123 更新时间:2023-12-04 01:16:07 24 4
gpt4 key购买 nike

我是 F# 的新手。我最近了解了 Elmish.wpf 和 MVU 设计。我正在使用的应用程序是 C# WPF,带有许多 WPF 用户控件、自定义控件和窗口。 Elmish.wpf 似乎将 View 模型的概念扁平化为单个数据上下文。 (??)。 Elmish.wpf 可以与多个窗口、用户控件和自定义控件一起使用吗? (这里的“多个”是指大约 20 个窗口、用户控件和自定义控件。)
如果是这样,是否有这样的例子?
在查看 Elmish.wpf 网页时,似乎所有窗口都需要在初始化时创建--

let main mainWindow (createWindow1: Func<#Window>) (createWindow2: Func<#Window>) =
let createWindow1 () = createWindow1.Invoke()
let createWindow2 () =
let window = createWindow2.Invoke()
window.Owner <- mainWindow
window
let bindings = App.mainBindings createWindow1 createWindow2
Program.mkSimpleWpf App.init App.update bindings
|> Program.withConsoleTrace
|> Program.runWindowWithConfig
{ ElmConfig.Default with LogConsole = true; Measure = true }
mainWindow
有一个更好的方法吗?我是不是叫错了树?
提前致谢。

最佳答案

是的,Elmish.WPF 绝对支持多个窗口和用户定义的控件。
很多samples in the Elmish.WPF repo以一种或另一种方式证明这一点。例如,NewWindow示例演示了如何打开新窗口,以及 SubModel (以及许多其他人)示例演示了如何使用自定义 UserControl s。 SubModelSeq样本是目前最复杂的一个,展示了任意深度的递归树UserControl s。
所有这些也在 the official Elmish.WPF tutorial 中有所描述。 .
(以供将来引用, this is the current commit at the time of writing ;样本可能从那时起发生了变化。)

关于f# - 如何使用 Elmish.wpf 和 F# 管理多个窗口、用户控件和自定义控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63333098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com