求教,最近写了一段时间 C# WPF, 仅从写样式角度,感觉比起 HTML/CSS 非常麻烦,纯 windows 桌面应用 C#下有其他更好用的框架吗?
拿一个按钮来说:
HTML/css
.btn {
color: red;
border: 1px solid #75a4ff;
padding: 10px;
border-radius: 15px;
height: 32px;
width: 76px
margin: 0 0 0 8px;
font-size: 10px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
&:hover {
color: #fff;
background: #75a4ff;
}
}
C# wpf:
<ResourceDictionary
xmlns=" schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x=" schemas.microsoft.com/winfx/2006/xaml"
xmlns:mah=" metro.mahapps.com/winfx/xaml/controls"
xmlns:local="clr-namespace:WpfApp1.Components">
</mah:FontIcon.Style>
</mah:FontIcon>
<TextBlock.Style>
</TextBlock.Style>
</Setter.Value>
<Style.Triggers>
</Style.Triggers>
写起来相当难受= =。
试试 WinForm
或者 CPF
,你也可以在 WPF
中嵌入 WebView
如果 OP 熟悉 HTML ,用 webview2 或者 cefsharp 嵌入 HTML ,用 HTML 做界面即可
保守派:
WinForm
WPF, Avalonia
UWP, WinUI 3
思路打开:
Unity, Godot, MonoGame
不知道有木有 css 到 wpf 的样式转换器啊
試試 blazor hybrid
没有界面拖拉拽的设计吗,当年 vb 还有呢
目前用过的写客户端界面的框架 WPF 已经是第一梯队了。是 HTML+CSS 写起界面太优秀了,显得别家都很蠢,根本不在一个层次上。如果不考虑兼容 win7 且界面设计复杂,建议用 webview2 套壳一个。
wpf 的跨平台版 avalonia, 既支持 WPF 风格的 style, 也支持类似 css 的 style.
要不看看 avaloina ,可能好一点,但是也没有好很多
同感,css 太顺手了
React Native for Windows
微软是书呆子,所以弃坑了
如果你对 declarative UI 有兴趣的话,我看到过 MAUI 和 UNO 支持 C# Markup 写法,推荐给你:
- MAUI -- github.com/CommunityToolkit/Maui.Markup
UNO -- platform.uno/docs/articles/external/uno.extensions/doc/Learn/Markup/Overview.html
xml 这个屎坑, 只要遇到就讨厌
blazorwasm 。写起来比较舒服,
啊对,可以看一下国产的 CPF
Button { BorderFill: #DCDFE6; IsAntiAlias: True; CornerRadius: 4,4,4,4; Background: #FFFFFF; } Button[IsMouseOver=true] { BorderFill: rgb(198,226,255); Background: rgb(236,245,255); Foreground: rgb(64,158,255); } Button[IsPressed=true] { BorderFill: rgb(58,142,230); }
cpf.cskin.net/Course/#/CPF/CSS
atomui?
electron
想继续用 html 、css 就 blazor hybrid ,本质上是个在本机运行的 blazor server app
这里有个 wpf 中使用 c#的 markup 写界面的, github.com/VincentH-Net/CSharpForMarkup?tab=readme-ov-file
设计器只能简单设置,还是直接在 xaml 编辑器改多点
试试 Tauri
www.astercasc.com/article/detail?articleId=AT179131494382045184
winform 最简单
都 5202 年了,WPF 你纯代码开发么?我记得 2010 年左右就有 blend 工具用来画 WPF 了。
搞了个 python 虚拟环境 打包的工具,解决 无公网环境安装 python 、不同 Linux 操作系统 Python 环境兼容的问题 github.com/Alfons…
出了个编程题作为第一题,题目很简单就是一个列表找最大值: var list = List.of(5, 23, 6, 112, 44, 33, 31); // 找出 list 中…
周末娃午睡和每晚在床上望着手机不知干什么的时候,经常回首自己三年半的独立开发经历。 职场点滴: [ 1 ] 13 年毕业,14 年底回到东北从事安卓 app 开发。 [ 2 ]…