爱意满满的作品展示区。
stitch18

WeUiSharp:基于 WPF 实现的仿 Windows 桌面版微信 UI 界面库

  •  3
     
  •   stitch18 ·
    IUpdatable · Sep 2, 2021 · 5236 views
    This topic created in 1893 days ago, the information mentioned may be changed or developed.

    WeUiSharp

    基于 WPF 实现的仿 Windows 桌面版微信 UI 界面库

    An unofficial UI library for Windows WeChat based on WPF implementation

    项目主页:https://github.com/IUpdatable/WeUiSharp,欢迎 star

    .NET Framework Version nuget-version Nuget

    Features

    • .NET Framework >= 4.7.2
    • 多语言动态切换
    • 主题动态切换( TODO:深色主题)
    • MIT 协议,开源可商用

    Overview

    Overview

    Getting Started

    1. 创建一个基于. NET Framework 4.7.2+ 的 WPF 项目(推荐使用:Prism 框架,直接使用 Prism 模板 创建项目);
    2. NuGet 安装 WeUiSharp
    3. 修改文件 App.xaml,添加以下资源:
    <Application.Resources>
        <!-- 下面部分为添加内容 -->
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/WeUiSharp;component/ControlsResources.xaml"/>
                <weui:ThemeResources RequestedTheme="Light">
                    <weui:ThemeResources.ThemeDictionaries>
                        <ResourceDictionary x:Key="Light">
                            <ResourceDictionary.MergedDictionaries>
                                <ResourceDictionary Source="/WeUiSharp;component/ThemeResources/Light.xaml" />
                            </ResourceDictionary.MergedDictionaries>
                        </ResourceDictionary>
                        <ResourceDictionary x:Key="Dark">
                            <ResourceDictionary.MergedDictionaries>
                                <ResourceDictionary Source="/WeUiSharp;component/ThemeResources/Dark.xaml" />
                            </ResourceDictionary.MergedDictionaries>
                        </ResourceDictionary>
                    </weui:ThemeResources.ThemeDictionaries>
                </weui:ThemeResources>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
    
    1. 修改文件 MainWindow.xaml,将 Window 改为 weui:Window,并添加 weui 的引用:
    <weui:Window xmlns:weui="https://github.com/IUpdatable/WeUiSharp" Title="Hello WeUiSharp"
            ...
            >
        <Grid>
            
        </Grid>
    
    </weui:Window>
    
    1. 修改 MainWindow.xaml.cs,取消从 Window 的继承关系
    public partial class MainWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
    
    1. 编译运行,应该就可以看到下面效果的界面:

    Hello Wrorld

    完整代码:WeUiSharp.HelloWorld

    基于 Prism 框架的 Hello Wrorld 项目完整代码: WeUiSharp.HelloWorldWithPrism

    Components

    26 replies  •  2021-09-05 22:43:21 +08:00
    Removable
    Removable
    Sep 2, 2021
    1
    .Neter 送上一个 star
    xuxuzhaozhao
    xuxuzhaozhao
    Sep 2, 2021
    2
    好!我也来一个 star
    towser
    towser
    Sep 2, 2021
    3
    已 star
    7gugu
    7gugu
    Sep 2, 2021 via iPhone
    4
    牛逼啊!
    madlifer
    madlifer
    Sep 2, 2021
    5
    曾经的.neter 送上一个 Star
    GM
    GM
    Sep 2, 2021
    6
    要求版本太高了,建议适配 4.5,如果有可能的话,适配 4.0,以便支持死而不僵的 XP 。
    ONEO666
    ONEO666
    Sep 2, 2021
    7
    看你正在找工作,有兴趣邮件联系:b25lby5tZUBvdXRsb29rLmNvbQ,给你发邮件被 163 当垃圾邮件了,发不过去
    stitch18
    stitch18
    OP
    Sep 2, 2021
    8
    @GM 我之前甚至考虑过直接做一个跨平台的库,但调研一番之后,有两点考虑,一是平时主要用 Win10 做开发和测试,其它系统基本不用,开发和测试就很难覆盖到,如果用户使用之后发现问题找我反馈,我去复现核实的成本就太高了。二是,过低版本的语法、功能以及依赖模块都要进行调整适应,时间成本也太高。
    stitch18
    stitch18
    OP
    Sep 2, 2021
    9
    @1217950746 我的 Outlook 邮箱与 GitHub 用户名相同,已经给你发了一封打招呼的邮件
    GM
    GM
    Sep 2, 2021
    10
    @stitch18 适配 4.0 确实挺麻烦的,但是适配 4.5 还算可以,不难。
    12101111
    12101111
    Sep 2, 2021
    11
    @GM 现在死而不僵的是 win7 64bit, xp 已经死了, 大把的生产力软件只有 64 位的
    ijrou
    ijrou
    Sep 2, 2021
    12
    用着卡卡的。。。
    GM
    GM
    Sep 2, 2021
    13
    @12101111
    XP 没死,一线环境还有大量在用,起码 10%,如果不怕丢这些客户的话可以不考虑。
    stitch18
    stitch18
    OP
    Sep 2, 2021
    14
    @ijrou 在低配电脑上不太流畅是可能的,应该还到不了卡的情况吧。主要原因是为了达到高仿效果,整体是透明效果处理,窗体边框和阴影进行了细调,WPF 在处理这类透明情况的效率好像并不高,从效率方面讲确实不是最优做法(如果有更好解决方案或优化方法也欢迎提出来)。再者是考虑后面动态切换主题的情景,大部分资源都是动态加载,应该也有关系。
    mmdsun
    mmdsun
    Sep 2, 2021 via Android
    15
    @GM win7 也能安装 4.7.2 问题不大。而且现在微软都建议建议用 4.8 版本的了
    anxn
    anxn
    Sep 2, 2021 via Android
    16
    这个必须 star
    Soar360
    Soar360
    Sep 2, 2021
    17
    这个必须支持一下
    enki0423
    enki0423
    Sep 3, 2021 via iPhone❤️1
    18
    为啥要仿微信 ui 啊,微信 pc 端 ui 做的那么垃圾
    jedihy
    jedihy
    Sep 3, 2021
    19
    @enki0423 确实,微信 UI 不好看。
    wzw
    wzw
    Sep 3, 2021 via iPhone
    20
    楼主坐标在哪?我有个活请你接?可以看我帖子
    stitch18
    stitch18
    OP
    Sep 3, 2021
    21
    @enki0423 直接原因是,我本来打算仿一个局域网版的微信,时间有点紧还没做完,就先把 UI 整理出来了。客观讲微信桌面版的 UI 确实一般,但是一个事物只要从一开始没有太强烈的排斥感,用久了自然也容易产生熟悉感。加之微信用户量巨大,概率上讲有需求使用类似界面做东西的开发者也会不少,所以就有了这个开源项目。
    stitch18
    stitch18
    OP
    Sep 3, 2021
    22
    @wzw 我现在在新加坡,正在找回国的工作。公开论坛,微信我就不留了,想联系我的话,项目主页里有邮箱和公众号。
    CitizenR
    CitizenR
    Sep 3, 2021
    23
    赞,居然还在坚持做 WPF,已 star 。
    enki0423
    enki0423
    Sep 3, 2021 via iPhone
    24
    @stitch18 👍
    ragnaroks
    ragnaroks
    Sep 4, 2021
    25
    可以考虑下适配 dotnet 5.0/3.1
    zwh418346771
    zwh418346771
    Sep 5, 2021
    26
    star+1
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1224 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 15:51 · PVG 23:51 · LAX 07:51 · JFK 10:51
    ♥ Do have faith in what you're doing.