F#没有WPF模板,实现.net7.0-windows
需要手工实现,本文就是讲解如何新建一个F#WPF程序。
新建控制台应用程序。非(.net framework)
修改项目属性,项目文件(*.fsproj
)代码如下:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net7.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<UseWindowsForms>False</UseWindowsForms>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MahApps.Metro" Version="2.4.9" />
<PackageReference Include="System.Reactive" Version="5.0.0" />
</ItemGroup>
</Project>
最简单的亮机启动代码,如下:
open System
open System.Windows
open System.Windows.Controls
let w = new Window()
let b = new Button(Content = "Hello from WPF!")
b.Click.Add(fun _ -> w.Close())
w.Content <- b
let a = new Application()
[<STAThread>]
do a.Run(w) |> ignore
略微复杂有用一些的代码。LOADING XAML INTO F# APPLICATIONS
let a =
let reader = XmlReader.Create(Path.Combine(__SOURCE_DIRECTORY__,"App.xaml"))
XamlReader.Load(reader) :?> Application
let w =
let reader = XmlReader.Create(Path.Combine(__SOURCE_DIRECTORY__,"FirstMetroWindow.xaml"))
let this = XamlReader.Load(reader) :?> Window
let btn = this.FindName("btn") :?> Button
btn.Click.Add(fun _ ->
MessageBox.Show("click from code behind.") |> ignore
)
this
[<STAThread>]
do a.Run(w) |> ignore
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)