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

2021-09-02 10:45:07 +08:00
 stitch18

WeUiSharp

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

An unofficial UI library for Windows WeChat based on WPF implementation

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

Features

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. 编译运行,应该就可以看到下面效果的界面:

完整代码:WeUiSharp.HelloWorld

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

Components

3348 次点击
所在节点    分享创造
26 条回复
Removable
2021-09-02 10:52:03 +08:00
.Neter 送上一个 star
xuxuzhaozhao
2021-09-02 11:02:19 +08:00
好!我也来一个 star
towser
2021-09-02 11:15:40 +08:00
已 star
7gugu
2021-09-02 11:18:25 +08:00
牛逼啊!
madlifer
2021-09-02 11:28:03 +08:00
曾经的.neter 送上一个 Star
GM
2021-09-02 11:34:18 +08:00
要求版本太高了,建议适配 4.5,如果有可能的话,适配 4.0,以便支持死而不僵的 XP 。
1217950746
2021-09-02 14:49:56 +08:00
看你正在找工作,有兴趣邮件联系:b25lby5tZUBvdXRsb29rLmNvbQ,给你发邮件被 163 当垃圾邮件了,发不过去
stitch18
2021-09-02 16:13:42 +08:00
@GM 我之前甚至考虑过直接做一个跨平台的库,但调研一番之后,有两点考虑,一是平时主要用 Win10 做开发和测试,其它系统基本不用,开发和测试就很难覆盖到,如果用户使用之后发现问题找我反馈,我去复现核实的成本就太高了。二是,过低版本的语法、功能以及依赖模块都要进行调整适应,时间成本也太高。
stitch18
2021-09-02 16:16:12 +08:00
@1217950746 我的 Outlook 邮箱与 GitHub 用户名相同,已经给你发了一封打招呼的邮件
GM
2021-09-02 16:23:40 +08:00
@stitch18 适配 4.0 确实挺麻烦的,但是适配 4.5 还算可以,不难。
12101111
2021-09-02 17:21:49 +08:00
@GM 现在死而不僵的是 win7 64bit, xp 已经死了, 大把的生产力软件只有 64 位的
ijrou
2021-09-02 17:22:14 +08:00
用着卡卡的。。。
GM
2021-09-02 17:34:59 +08:00
@12101111
XP 没死,一线环境还有大量在用,起码 10%,如果不怕丢这些客户的话可以不考虑。
stitch18
2021-09-02 17:43:16 +08:00
@ijrou 在低配电脑上不太流畅是可能的,应该还到不了卡的情况吧。主要原因是为了达到高仿效果,整体是透明效果处理,窗体边框和阴影进行了细调,WPF 在处理这类透明情况的效率好像并不高,从效率方面讲确实不是最优做法(如果有更好解决方案或优化方法也欢迎提出来)。再者是考虑后面动态切换主题的情景,大部分资源都是动态加载,应该也有关系。
mmdsun
2021-09-02 18:52:42 +08:00
@GM win7 也能安装 4.7.2 问题不大。而且现在微软都建议建议用 4.8 版本的了
anxn
2021-09-02 19:11:19 +08:00
这个必须 star
Soar360
2021-09-02 22:31:32 +08:00
这个必须支持一下
enki0423
2021-09-03 01:51:02 +08:00
为啥要仿微信 ui 啊,微信 pc 端 ui 做的那么垃圾
jedihy
2021-09-03 02:13:06 +08:00
@enki0423 确实,微信 UI 不好看。
wzw
2021-09-03 07:14:46 +08:00
楼主坐标在哪?我有个活请你接?可以看我帖子

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799406

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX