首页 > 系统相关 >F#写WPF程序,`.net7.0-windows`

F#写WPF程序,`.net7.0-windows`

时间:2023-01-29 15:23:28浏览次数:43  
标签:__ windows let reader net7.0 WPF

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

标签:__,windows,let,reader,net7.0,WPF
From: https://www.cnblogs.com/cuishengli/p/17072753.html

相关文章

  • WPF(2)命令绑定
    效果是:当TextBox控件的Text属性为空时show按钮不可用,有值时show按钮可用项目结构   界面代码<Windowx:Class="WpfApp1.MainWindow"xmlns="http://sche......
  • Windows与Linux的互相访问
    安装上几台windows的主机,不管是xp系统还是win7win10,只要打开网络发现,在网上邻居上都可以看到局域网内在线的计算机。但是Linux就不行了。常见的解决办法是在Linux下安装S......
  • 如何获取Windows应用程序列表
    Windows任务管理器的应用程序栏包含任务窗口的列表。要获取此列表,窗口必须满足以下几个条件:(1)必须可见(2)包含一个标题(3)不能被其他窗口包含下面我给出源程序和调用示......
  • 利用火绒随意关停windows的defender
     共两步: 第一步:    第二步:   ......
  • windows server 2012 R2 内存占用过高优化
    现象:windowsserver 2012R2 使用中,任务管理器经常显示占用内存>96%,将所有进程占用内存加起来并没有占到系统内存这么多分析办法:使用RAMMap查看了机器内存使用情况,如......
  • 记录windows2012部署asp项目
    安装mysql5.6安装本地环境.NET4.6.1环境安装IIS部署......
  • windows11预览版装WSA心得
    windows11预览版装WSA心得这两天心血来潮想要装个WSA(安卓windows子系统),原来一直用的安卓模拟器(mumu啊蓝叠啊逍遥啊),但感觉像wsa这种安卓系统与主系统融合的模式更带感,于......
  • 重装系统及Windows软件设置流程记录
    前言本文主要是记录给小白(女朋友)重装系统的流程,包括重装系统使用的工具和进入新系统后的软件配置。一、重装系统1.1启动盘工具ventoy可以满足一个U盘安装多个系统,下载......
  • WPF 不规则界面
    MainWindow.xaml<Windowx:Class="iKun.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.mic......
  • 提高程序员工作效率的工具合集windows+ios
    提示:集合各种程序员必备工具,望学习收藏~文章目录​​前言​​​​一、Markdowm​​​​1:菜单栏​​​​2:文件​​​​3:编辑​​​​4:段落​​​​5:格式​​​​6:视图​​​......