添加 App.xaml 和 App.xaml.fs 将所有内容绑定在一起

<!-- All boilerplate for now -->
<Application 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"               
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">      
    <Application.Resources>      
    </Application.Resources>  
</Application>

这是背后的代码:

namespace Spirograph

open System  
open System.Windows 
open System.Windows.Controls

module Main = 
  [<STAThread; EntryPoint>]
  let main _ =
    // Create the app and the model with the "business logic", then create the
    // main window and link its Canvas to the model so the model can access it.
    // The main window is linked to the app in the Run() command in the last line.
    let app = App()
    let model = new Model()
    let mainWindow = new MainWindow(app, model) 
    model.MyCanvas <- (mainWindow.FindName("myCanvas") :?> Canvas)         
    
    // Make sure the window is on top, and set its size to 2/3 of the dimensions 
    // of the screen.
    mainWindow.Topmost <- true
    mainWindow.Height  <- 
      (System.Windows.SystemParameters.PrimaryScreenHeight * 0.67)
    mainWindow.Width   <- 
      (System.Windows.SystemParameters.PrimaryScreenWidth * 0.67) 
    
    app.Run(mainWindow) // Returns application's exit code.

App.xaml 是这里的所有样板,主要用于显示可以声明应用程序资源(如图标,图形或外部文件)的位置。随附的 App.xaml.fs 将 Model 和 MainWindow 结合在一起,将 MainWindow 的大小调整为可用屏幕大小的三分之二,然后运行它。

构建时,请记住确保每个 xaml 文件的 Build 属性都设置为 Resource。然后,你可以运行调试器或编译为 exe 文件。请注意,你无法使用 F#解释器运行此命令:FsXaml 包和解释器不兼容。

你有它。我希望你可以将此作为自己应用程序的起点,并且这样做可以将你的知识扩展到此处所示的范围之外。任何意见和建议将不胜感激。