首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elmish.WPF是如何将辅助窗口导入主函数的?

Elmish.WPF是如何将辅助窗口导入主函数的?
EN

Stack Overflow用户
提问于 2022-06-29 13:54:21
回答 1查看 28关注 0票数 1

各种#Windows (mainWindowcreateWindow1createWindow2)是如何在调用Elmish.WPF NewWindow代码示例Program.fs时作为参数编组的,如下所示.

代码语言:javascript
复制
let main mainWindow (createWindow1: Func<#Window>) (createWindow2: Func<#Window>) =
  let logger =
    LoggerConfiguration()
      .MinimumLevel.Override("Elmish.WPF.Update", Events.LogEventLevel.Verbose)
      .MinimumLevel.Override("Elmish.WPF.Bindings", Events.LogEventLevel.Verbose)
      .MinimumLevel.Override("Elmish.WPF.Performance", Events.LogEventLevel.Verbose)
      .WriteTo.Console()
      .CreateLogger()
  let createWindow1 () = createWindow1.Invoke()
  let createWindow2 () =
    let window = createWindow2.Invoke()
    window.Owner <- mainWindow
    window

  let init () = App.init
  let bindings = App.bindings createWindow1 createWindow2
  WpfProgram.mkSimple init App.update bindings
  |> WpfProgram.withLogger (new SerilogLoggerFactory(logger))
  |> WpfProgram.startElmishLoop mainWindow

???

在.NET,WPF,Elmish.WPF中,什么管道正在组织在NewWindow.Core顶部找到的引用,以便调用F#函数main,并按照正确的顺序排列和传递窗口?

EN

回答 1

Stack Overflow用户

发布于 2022-06-29 14:09:06

当我回答完上面的问题时,我决定了我认为答案是什么。留着这个问题以防对别人有帮助。-RCHF

作为参考,我已经彻底阅读了Elmish.WPF教程

在得出这个答案时,我发现开始使用Elmish.WPF,第7和第8项很有帮助。

在MainWindow.xaml.cs*must* have aStartElmish`中,具有以下代码…的MainWindow.xaml`` file calls the C# code-behind file…函数

代码语言:javascript
复制
    private void StartElmish(object sender, EventArgs e)
    {
      this.Activated -= StartElmish;
      Program.main(MainWindow, () => new Window1(), () => new Window2());
    }

在这里,您可以看到Elmish.WPF NewWindow代码示例(参见C# XAML)和F#芯中对所有三个窗口的引用被编组到从属F# main函数中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72802621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档