V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
steins2628
V2EX  ›  问与答

有没有 c# WPF 程序员来帮帮这个可怜的前端

  •  
  •   steins2628 · 2022-12-26 10:10:38 +08:00 · 1781 次点击
    这是一个创建于 682 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,是个前端,主要写 Vue ,有用过 Qt 。因为最近有个需求 WPF 比较契合,所以打算试试,原生状态下一切都好,但作为前端,国际化和明暗主题切换肯定也是要做的,然后就发现自己不一定能搞定了。

    1. ResourceDictionary 能不能根据 x:Name 之类的属性修改特定项?

    因为现在我国际化是这么做的,翻译文件都是 .xaml 然后在 App.xaml 中指定好默认的语言, 要切换的时候清空,但是之后主题切换会往 MergedDictionaries 里加别的类型的资源文件,然后就不能一下子清空了。

    有没有办法获取到这里 x:Name="i18n" 这项,然后可以对其 Source 进行修改,或者直接只删掉这项重新添加新的也可以?

    App.xaml

    MainWindow.xaml.cs(1)

    1. 主题切换想找个 UI 库看看能不能一键换肤,有没有什么推荐的?

    目前在试 Material Design ,但是使用体验和 Web 有很大不同:一个是控件的可配置属性和使用不明确,另一个是换肤好像颜色选择比较局限?提供的颜色都有种,不是很想用的感觉,但也没找到什么方法比如能用 rgba 颜色设置主题。

    1. 有没有自定义标题栏的插件或者写的好一点的开源模板工程可以来参考下?

    标题栏肯定也需要纳入主题切换范畴,原生不太好做,自己写看资料坑好像有点多,有没有推荐的写的比较好的那种自定义标题栏插件?

    第一次写 WPF ,也不知道什么样子比较好,有没有那种比较优秀的开源 WPF 项目可以参考下的?

    我自己的程序目前规划比较简单,最最基础的就这两栏。

    界面预览.png

    8 条回复    2022-12-26 21:22:33 +08:00
    wizzer
        1
    wizzer  
       2022-12-26 10:54:15 +08:00
    这个一搜就有答案的问题,不需要发帖。
    ysc3839
        2
    ysc3839  
       2022-12-26 11:23:09 +08:00
    啥需求?直接用 WebView 吧。
    lzj724
        3
    lzj724  
       2022-12-26 11:44:20 +08:00
    electron 不香吗
    youyouyou0123456
        4
    youyouyou0123456  
       2022-12-26 11:54:56 +08:00
    1. WPF 有 dynamicresource staticresource 的概念,换肤之类一般用动态资源实现。
    2. 库我推荐 WPFUI https://wpfui.lepo.co/ ,我看过部分实现,我觉得很不错,但是你是新手可能会太复杂,有简单的 UI 库 handycontrol 。
    3. 大部分问题上 stackoverflow 搜,得到的结果会比在这里发贴会好很多,你可以试试。
    steins2628
        5
    steins2628  
    OP
       2022-12-26 13:26:17 +08:00
    @wizzer 大部分问题确实靠搜索解决完了,第一个还是有点不懂,剩下两个可以算是求推荐,因为完全没有这方面相关的经验

    @ysc3839 写过 Tauri ,WPF 是为了兼容 win7 才打算写的

    @lzj724 electron 还是太大了,win10 及以上会用 Tauri 实现

    @youyouyou0123456 谢谢指点,我去看看
    ysc3839
        6
    ysc3839  
       2022-12-26 15:22:01 +08:00
    @steins2628 用 Edge WebView2 和 CEF 也都能兼容 Win7 。
    steins2628
        7
    steins2628  
    OP
       2022-12-26 21:21:11 +08:00
    @ysc3839 我知道我知道,只是我对桌面端软件最推崇的形态就是 portable 。
    很多人 win7 估计也不怎么会装 webview2 ,最好使用起来这种多余的步骤少一点。
    Edge WebView2 和 CEF 我也会了解下,谢谢指点。
    ysc3839
        8
    ysc3839  
       2022-12-26 21:22:33 +08:00
    @steins2628 Edge WebView2 可以自带运行环境,也可以在自己的程序里加上安装功能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1378 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:36 · PVG 01:36 · LAX 09:36 · JFK 12:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.