Avalonia.FuncUI 1.5.0
前缀已保留
dotnet add package Avalonia.FuncUI --version 1.5.0
NuGet\Install-Package Avalonia.FuncUI -Version 1.5.0
<PackageReference Include="Avalonia.FuncUI" Version="1.5.0" />
paket add Avalonia.FuncUI --version 1.5.0
#r "nuget: Avalonia.FuncUI, 1.5.0"
// Install Avalonia.FuncUI as a Cake Addin #addin nuget:?package=Avalonia.FuncUI&version=1.5.0 // Install Avalonia.FuncUI as a Cake Tool #tool nuget:?package=Avalonia.FuncUI&version=1.5.0
<h1 align="center"><img src="github/img/logo/FuncUI_Boxed.png" width="32px" alt="Avalonia FuncUI"> Avalonia FuncUI </h1>
<p align="center">使用 <a href="https://fsharp.org">F#</a> 和 <a href="https://github.com/AvaloniaUI/Avalonia">AvaloniaUI</a> 开发跨平台 GUI 应用程序!</p> <p align="center"> <img src="https://img.shields.io/github/languages/top/fsprojects/Avalonia.FuncUI" alt="GitHub top language"> <img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/fsprojects/Avalonia.FuncUI"> <img src="https://img.shields.io/github/license/fsprojects/Avalonia.FuncUI"> <img alt="Nuget (with prereleases)" src="https://img.shields.io/nuget/vpre/Avalonia.FuncUI?color=green&label=package%20Avalonia.FuncUI"> </p><br>
关于
FuncUI 是建立在 AvaloniaUI 之上的一个薄层。它包含用于以不同编程风格编写 UI 应用程序的抽象。它还包含组件和状态管理系统。
FuncUI 主要由以下部分组成
- 虚拟 DOM
- 视图 DSL
- 组件模型
资源
贡献
请通过问题报告、拉取请求、代码审查、文档编写和讨论等方式为这个库做出贡献。
示例
使用组件的示例
使用组件库制作的一个简单计数器
type Components =
static member Counter () =
Component (fun ctx ->
let state = ctx.useState 0
DockPanel.create [
DockPanel.children [
Button.create [
Button.onClick (fun _ -> state.Set(state.Current - 1))
Button.content "click to decrement"
]
Button.create [
Button.onClick (fun _ -> state.Set(state.Current + 1))
Button.content "click to increment"
]
TextBlock.create [
TextBlock.dock Dock.Top
TextBlock.text (string state.Current)
]
]
]
)
在组件示例文件夹中查找更多使用组件的示例。
使用 Elmish 的示例
与上述相同的计数器,但使用 Avalonia.FuncUI.Elmish
包
module Counter =
type CounterState = { count : int }
let init = { count = 0 }
type Msg = Increment | Decrement
let update (msg: Msg) (state: CounterState) : CounterState =
match msg with
| Increment -> { state with count = state.count + 1 }
| Decrement -> { state with count = state.count - 1 }
let view (state: CounterState) (dispatch): IView =
DockPanel.create [
DockPanel.children [
Button.create [
Button.onClick (fun _ -> dispatch Increment)
Button.content "click to increment"
]
Button.create [
Button.onClick (fun _ -> dispatch Decrement)
Button.content "click to decrement"
]
TextBlock.create [
TextBlock.dock Dock.Top
TextBlock.text (sprintf "the count is %i" state.count)
]
]
]
在Elmish 示例文件夹中查找更多使用 Elmish 的示例
维护者
Avalonia.FuncUI的当前共同维护者有
- @Numpsy
- @JordanMarr
- @sleepyfran
- @JaggerJo(项目负责人)
"fsprojects"下项目的默认维护者账户是@fsprojectsgit - F# 社区项目孵化空间(仓库管理)
商业支持
如果您需要商业支持合同或有兴趣进行合同工作,请联系 [email protected]。
星标历史
<a href="https://star-history.com/#fsprojects/Avalonia.FuncUI&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=fsprojects/Avalonia.FuncUI&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=fsprojects/Avalonia.FuncUI&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=fsprojects/Avalonia.FuncUI&type=Date" /> </picture> </a>
产品 | 版本 兼容的和额外的计算目标框架版本。 |
---|---|
.NET | net8.0 是兼容的。 net8.0-android 是计算得出的。 net8.0-browser 是计算得出的。 net8.0-ios 是计算得出的。 net8.0-maccatalyst 是计算得出的。 net8.0-macos 是计算得出的。 net8.0-tvos 是计算得出的。 net8.0-windows 是计算得出的。 |
-
net8.0
- Avalonia (≥ 11.1.0)
- Avalonia.Controls.DataGrid (≥ 11.1.0)
- FSharp.Core (≥ 8.0.301)
NuGet 包 (4)
显示依赖于 Avalonia.FuncUI 的前4个 NuGet 包
包 | 下载 |
---|---|
Avalonia.FuncUI.Elmish 为 Avalonia.FuncUI 提供的 Elmish 集成 |
|
SilkyFowl.Avalonia.FuncUI.LiveView
Avalonia.FuncUI 的 live fs/fsx 预览器。 |
|
Navs(FuncUI)
包描述 |
|
FluentAvalonia.FuncUI.Bindings
FluentAvalonia.FuncUI.Bindings 是一个库,它将 FluentAvalonia 与 Avalonia.FuncUI 集成在一起。它包含使您能够在 Avalonia.FuncUI 提供的 F# 上下文中使用 FluentAvalonia 控件的绑定。 |
GitHub 仓库 (1)
显示依赖于 Avalonia.FuncUI 的最受欢迎的前 1 个 GitHub 仓库
仓库 | 星数 |
---|---|
AvaloniaUI/Live.Avalonia
为 Avalonia 应用程序提供应用内实时重新加载。
|
版本 | 下载 | 最后更新 |
---|---|---|
1.5.0 | 92 | 8/12/2024 |
1.4.0 | 635 | 4/26/2024 |
1.3.0 | 875 | 2/23/2024 |
1.2.0 | 579 | 1/6/2024 |
1.1.0 | 801 | 10/23/2023 |
1.0.2 | 154 | 10/22/2023 |
1.0.1 | 1,174 | 8/8/2023 |
1.0.0 | 1,401 | 7/6/2023 |
1.0.0-rc1.1.1 | 135 | 6/26/2023 |
1.0.0-rc1.1.0 | 652 | 6/20/2023 |
0.6.0-preview9.1 | 366 | 4/2/2023 |
0.6.0-preview9 | 309 | 3/10/2023 |
0.6.0-preview8 | 185 | 2/26/2023 |
0.6.0-preview7 | 519 | 1/26/2023 |
0.6.0-preview6.1 | 123 | 1/23/2023 |
0.6.0-preview6 | 166 | 1/22/2023 |
0.6.0-preview5 | 199 | 1/19/2023 |
0.6.0-preview4 | 204 | 1/15/2023 |