精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

現代WPF界面輕松實現:探秘輕量級WPFUI庫,MVVM與依賴注入一體化

開發 后端
最近要做個小工具軟件,發現以前用的WPF界面有點老了,所以在網上找下,發現一個用起來還可以的WPFUI庫,MVVM也支持得很好,同時支持微軟官方的依賴注入框架Microsoft.Extensions.DependencyInjection。

概述:一款名為WPFUI的輕量級開源庫,為WPF應用程序提供現代化界面。支持MVVM和Microsoft.Extensions.DependencyInjection,簡單上手。無第三方依賴,內置兩套皮膚,可自定義樣式。適用于一般應用場景,不受MVVM框架限制。通過簡單的引用和配置,快速構建現代化WPF應用,提升用戶體驗

最近要做個小工具軟件,發現以前用的WPF界面有點老了,所以在網上找下,發現一個用起來還可以的WPFUI庫,MVVM也支持得很好,同時支持微軟官方的依賴注入框架Microsoft.Extensions.DependencyInjection。

先來看看運行效果:

使用方法也比較簡單。

1、引用庫:

2、App.xaml引入資源

<Application
    x:Class="DesktopApp.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
    DispatcherUnhandledException="OnDispatcherUnhandledException"
    Exit="OnExit"
    Startup="OnStartup">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ui:ThemesDictionary Theme="Dark" />
                <ui:ControlsDictionary />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

3、App.xaml.cs注冊相關的Page、ViewModel、Service

public partial class App
    {
        // The.NET Generic Host provides dependency injection, configuration, logging, and other services.
        // https://docs.microsoft.com/dotnet/core/extensions/generic-host
        // https://docs.microsoft.com/dotnet/core/extensions/dependency-injection
        // https://docs.microsoft.com/dotnet/core/extensions/configuration
        // https://docs.microsoft.com/dotnet/core/extensions/logging
        private static readonly IHost _host = Host
            .CreateDefaultBuilder()
            .ConfigureAppConfiguration(c => { c.SetBasePath(Path.GetDirectoryName(Assembly.GetEntryAssembly()!.Location)); })
            .ConfigureServices((context, services) =>
            {
                services.AddHostedService<ApplicationHostService>();

                services.AddSingleton<MainWindow>();
                services.AddSingleton<MainWindowViewModel>();
                services.AddSingleton<INavigationService, NavigationService>();
                services.AddSingleton<ISnackbarService, SnackbarService>();
                services.AddSingleton<IContentDialogService, ContentDialogService>();

                services.AddSingleton<DashboardPage>();
                services.AddSingleton<DashboardViewModel>();
                services.AddSingleton<DataPage>();
                services.AddSingleton<DataViewModel>();
                services.AddSingleton<SettingsPage>();
                services.AddSingleton<SettingsViewModel>();
            }).Build();

        /// <summary>
        /// Gets registered service.
        /// </summary>
        /// <typeparam name="T">Type of the service to get.</typeparam>
        /// <returns>Instance of the service or <see langword="null"/>.</returns>
        public static T GetService<T>()
            where T : class
        {
            return _host.Services.GetService(typeof(T)) as T;
        }

        /// <summary>
        /// Occurs when the application is loading.
        /// </summary>
        private void OnStartup(object sender, StartupEventArgs e)
        {
            _host.Start();
            Wpf.Ui.Appearance.Theme.Apply(Wpf.Ui.Appearance.ThemeType.Dark);
        }

        /// <summary>
        /// Occurs when the application is closing.
        /// </summary>
        private async void OnExit(object sender, ExitEventArgs e)
        {
            await _host.StopAsync();

            _host.Dispose();
        }

        /// <summary>
        /// Occurs when an exception is thrown by an application but not handled.
        /// </summary>
        private void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
        {

            // For more info see https://docs.microsoft.com/en-us/dotnet/api/system.windows.application.dispatcherunhandledexception?view=windowsdesktop-6.0
        }

4、MainWindow頁面進行主界面布局

這個代碼有點多就不粘了,文章結尾有源代碼下載,如果感興趣可以下載看看。

5、優點

  • 這個庫包含了一些常用的控件沒有過多的封裝(輕量級),但足夠一般應用場景使用
  • 包含了兩套皮膚(如果不滿意可以自定義樣式個性色調)
  • 沒有其它第三方的依賴,使用起來比較簡單
  • 使用官方Microsoft.Extensions.DependencyInjection作為依賴注入框架,也可以使用其他的
  • 沒有MVVM框架的限制,可以使用CommunityToolkit.Mvvm、Prism或其他的

再附上幾張效果圖:

責任編輯:姜華 來源: 今日頭條
相關推薦

2025-05-13 09:23:24

2025-10-21 08:57:00

2023-12-20 07:35:03

大模型數據治理機器學習

2009-09-07 23:09:17

2024-01-02 08:22:01

Koin框架項目

2023-11-16 13:24:39

OceanBase數據庫

2009-12-03 15:34:41

Suse Linux

2009-07-02 09:32:00

2009-08-17 22:32:25

IT運維管理監控運維一體化摩卡

2011-05-24 09:26:02

有線無線3G

2020-04-24 11:13:50

物聯網智慧社區技術

2017-05-16 10:46:06

博陽咨詢流程管理

2014-12-25 11:25:31

2009-02-06 14:12:00

數據中心機房

2023-06-28 08:16:50

Autofac應用程序

2014-10-14 10:45:18

用友

2009-03-19 09:50:00

華為機房一體化

2023-07-19 22:13:25

一體化推送平臺
點贊
收藏

51CTO技術棧公眾號

欧美中文在线视频| 欧美一区二区二区| 五月天亚洲综合小说网| 国产精品久久久久久免费免熟| 一区二区不卡| 亚洲精品720p| 天堂av在线8| 天堂网在线最新版www中文网| 中文字幕乱码久久午夜不卡 | 亚洲激情电影中文字幕| 久久综合久久色| 日本h片在线观看| 国产偷国产偷亚洲高清人白洁 | 久久人人97超碰精品888| 无码 人妻 在线 视频| 日韩av综合| 色8久久人人97超碰香蕉987| a天堂资源在线观看| 久久久久国产精品嫩草影院| 国产综合色视频| 欧美综合国产精品久久丁香| 日本黄色片免费观看| 国产女人18毛片水真多18精品| 欧美日韩在线播放一区| 国产美女无遮挡网站| 国产三区视频在线观看| 久久蜜臀精品av| 国产一区二区在线网站| 国产精品欧美亚洲| 奇米精品一区二区三区在线观看一| 欧美激情亚洲精品| 天天操天天干天天操天天干| 久久综合社区| 日韩欧美色电影| www.成人黄色| 日本精品网站| 色综合久久九月婷婷色综合| 国产www免费| 国产剧情在线| 亚洲男同性恋视频| 亚洲一二三区精品| 国产午夜在线观看| 久久先锋影音av鲁色资源网| 国产精品有限公司| 亚洲精品国产av| 国产精品亚洲视频| 亚洲自拍中文字幕| 国产精品羞羞答答在线| 久久电影网站中文字幕| 国产精品成人一区| 国产精品777777| 亚洲在线电影| 欧美亚州一区二区三区| 日本视频免费在线| 日韩午夜在线电影| 国内外成人免费激情在线视频| 成人免费毛片东京热| 无码一区二区三区视频| 在线播放精品一区二区三区 | 国产精品一区二区三| 无码人妻精品一区二区蜜桃色欲 | 精品一区二区三区在线| 亚洲性生活视频| 中文字幕黄色网址| 国产精品成人a在线观看| 在线观看日韩视频| 91精品久久久久久久久久久久| 精品久久网站| 日韩在线观看免费高清完整版| 少妇高潮一区二区三区喷水| 亚洲区综合中文字幕日日| 美女精品视频一区| 日韩精品国产一区二区| 99精品国产福利在线观看免费| 136fldh精品导航福利| 一级一片免费看| 麻豆国产一区二区| 亚洲r级在线观看| 欧美视频一二区| 久久免费电影网| 中文有码久久| av资源在线| 在线免费精品视频| 性久久久久久久久久久久久久| 一级毛片精品毛片| 日韩av有码在线| wwwww黄色| 欧美99久久| 欧美在线视频免费播放| 一区两区小视频| 国产成人8x视频一区二区| 国产一区二区在线网站| 1区2区3区在线观看| 一区二区三区欧美日韩| 人妻少妇被粗大爽9797pw| 久久国产三级| 亚洲国产精品悠悠久久琪琪| 中文字幕在线观看免费高清| 欧美成人一区二免费视频软件| 91精品国产乱码久久久久久蜜臀 | 日韩精品中文字幕在线一区| aaaaaav| 国产电影一区二区在线观看| 97精品欧美一区二区三区| 亚洲精品久久久久久久蜜桃| 国产麻豆精品视频| 欧美日韩高清免费| 在线中文字幕电影| 91久久精品一区二区二区| 在线播放av网址| 久久免费大视频| 国内精品久久久久久久| 97成人免费视频| 久久先锋影音av| www.在线观看av| 国产亚洲高清一区| 宅男66日本亚洲欧美视频| 日本熟妇毛茸茸丰满| 久久99精品久久久久久久久久久久| 久久国产精品99久久久久久丝袜| 免费看a在线观看| 色婷婷精品久久二区二区蜜臀av| 精品无码av一区二区三区不卡| 精品一区二区三区在线| 91成人天堂久久成人| 99久久久无码国产精品免费| 国产精品污污网站在线观看| 亚洲爆乳无码专区| 欧美电影免费网站| 欧美激情视频在线| 国产xxxx在线观看| 亚洲品质自拍视频| 国产福利在线免费| 精品国产美女| 国产精品久在线观看| 免费福利在线视频| 疯狂做受xxxx高潮欧美日本| www.美色吧.com| 欧美激情视频一区二区三区免费| 国产一区私人高清影院| 国产日产精品久久久久久婷婷| 欧美午夜女人视频在线| 奇米777第四色| 亚洲三级色网| 精品国产乱码久久久久久88av| av影院在线| 亚洲国产精品免费| 日韩精品在线不卡| av一本久道久久综合久久鬼色| 久久综合久久网| 六月丁香久久丫| 国产91精品久久久久久| 色哟哟在线观看| 在线看一区二区| 美国黄色特级片| 久久精品国产亚洲高清剧情介绍| 亚洲国产高清国产精品| 成人在线观看免费视频| 日韩中文字幕免费看| 91精品国产色综合久久不8| 成人免费在线观看入口| 国产精品中文久久久久久| 欧美88av| 精品国产乱码久久久久久88av | 色婷婷av一区二区三区软件| 亚洲自拍偷拍一区二区| 久久亚洲电影| 一本色道久久99精品综合| 成人在线视频国产| 欧美黑人国产人伦爽爽爽| 人妻丰满熟妇av无码区hd| 精品日韩视频在线观看| 亚洲精品国产91| 精品一区二区在线视频| 国产情侣第一页| 免费av一区| 国产免费久久av| 男人天堂亚洲天堂| 亚洲久久久久久久久久| 中文字幕在线播放日韩| 一区二区在线看| 国产乱了高清露脸对白| 蜜臀精品一区二区三区在线观看 | 三级久久三级久久| 亚洲精品在线观看免费| 日韩欧美中文字幕一区二区三区| 97在线视频精品| 中文字幕在线播放| 日韩免费观看高清完整版| 日韩欧美一级视频| 国产精品国产三级国产aⅴ原创| 免费欧美一级片| 丝袜美腿亚洲一区| 91国在线高清视频| av永久不卡| 国产精选在线观看91| 性欧美freehd18| 久久久久久久色| 啊v视频在线| 亚洲第一在线视频| 瑟瑟视频在线免费观看| 亚洲国产精品自拍| 成年人看的免费视频| 成人小视频在线观看| 免费看污污网站| 9色精品在线| 四虎4hu永久免费入口| 精品国产中文字幕第一页| 成人在线视频网址| 美女视频一区| 日本免费久久高清视频| 怡红院av在线| 日韩最新在线视频| 污视频在线免费| 91精品国产一区二区人妖| 精品免费囯产一区二区三区| 亚洲自拍另类综合| 99热99这里只有精品| 91老师片黄在线观看| 亚洲高清av一区二区三区| 亚洲一区二区免费看| 午夜久久久久久久久久久| 精品国内自产拍在线观看视频| 精品日韩美女| 国产精品x8x8一区二区| 亚洲在线www| 在线日韩三级| 国产女精品视频网站免费| 澳门成人av网| 奇米成人av国产一区二区三区| 国产丝袜在线观看视频| 欧美另类在线播放| 麻豆视频在线免费观看| 神马久久久久久| av一区在线观看| 在线观看91久久久久久| 黄色软件在线| 亚洲视频欧美视频| 日韩av资源站| 亚洲欧美日韩中文视频| 丝袜+亚洲+另类+欧美+变态| 亚洲国产精彩中文乱码av| 日韩在线视频免费| 亚洲电影免费观看高清完整版在线| 性一交一乱一伧老太| 日韩欧美国产三级电影视频| 国产夫妻在线观看| 日韩欧美成人一区二区| 亚洲av无码一区二区乱子伦| 日韩精品影音先锋| 不卡视频免费在线观看| 欧美成人一区二区| 丰满人妻一区二区三区四区53| 欧美变态tickling挠脚心| www.国产.com| 欧美精品一区二区三区蜜臀| 神宫寺奈绪一区二区三区| 亚洲精品二三区| 久久久久久久久亚洲精品| 国产亚洲美女久久| 色的视频在线免费看| 久久久999国产| 97超碰在线公开在线看免费| 国模极品一区二区三区| 国产美女高潮在线观看| 青青草精品毛片| 成人久久网站| 亚洲xxxx视频| 欧美亚洲色图校园春色| 日本免费高清一区二区| 久久综合电影| 人妻av无码专区| 麻豆精品网站| 女同激情久久av久久| 丁香啪啪综合成人亚洲小说| 日韩精品卡通动漫网站| 中文字幕的久久| 免费一级a毛片夜夜看| 欧美日韩加勒比精品一区| 中文字幕 亚洲视频| 日韩视频中午一区| 日本大片在线观看| www.日韩不卡电影av| 1234区中文字幕在线观看| 国产精品69av| 亚洲精品影片| 色爱区成人综合网| 欧美久久99| 成人黄色一区二区| 国产电影一区二区三区| 中文人妻一区二区三区| 中文字幕永久在线不卡| 国产精品第56页| 欧美日韩中文精品| 日本免费网站在线观看| 日日摸夜夜添一区| 自拍视频在线看| 91在线色戒在线| 九一成人免费视频| 久久免费一级片| 日韩成人免费电影| 日韩少妇一区二区| 中文字幕一区二区三区视频| 久久久久久久久久免费视频| 欧美精品在线观看播放| 色鬼7777久久| 欧美激情一级二级| 日本国产亚洲| 日韩精品一区二区三区色偷偷| 国产在线欧美| 日本中文字幕观看| 久久久国产一区二区三区四区小说 | 欧美孕妇孕交| 欧美肥婆姓交大片| 国产精品一区二区免费福利视频| 国内成+人亚洲| 亚洲欧美文学| 女同激情久久av久久| 国产欧美精品一区| 亚洲欧美另类在线视频| 精品乱人伦小说| 肉体视频在线| 91久久久久久| 欧美第一精品| 亚欧美在线观看| 久久久99精品久久| 免费观看成人毛片| 亚洲国产精品女人久久久| 午夜激情在线| 99久久精品免费看国产一区二区三区 | 久久亚洲人体| 亚洲国产精品一区二区第四页av| 亚洲在线国产日韩欧美| 久久久午夜精品福利内容| 亚洲综合另类小说| 成人福利小视频| 色综合久久88色综合天天看泰| 色综合久久久| 中文字幕精品一区日韩| 精品一区二区日韩| 91视频青青草| 7777精品伊人久久久大香线蕉经典版下载 | 水蜜桃在线免费观看| 国产一区999| 全网免费在线播放视频入口 | 深夜福利网站在线观看| 亚洲欧美日韩国产手机在线 | 国产成人福利夜色影视| 亚洲成人a**址| 裸体一区二区三区| 激情五月激情综合| 欧美丰满少妇xxxbbb| 黄色网址在线免费观看| 亚洲综合av影视| 欧美久久一级| 日本黄色免费观看| 欧美午夜久久久| a中文在线播放| 成人xxxx视频| 欧美日韩影院| a视频免费观看| 欧美私模裸体表演在线观看| 日本亚洲精品| 成人高清在线观看| 国产日韩精品视频一区二区三区 | 中文字幕永久有效| 一区二区成人在线| 欧美一级特黄aaaaaa| 青青久久av北条麻妃黑人| 成人亚洲一区| 中文字幕第10页| 黄色成人av网| 在线免费av电影| 国产福利久久精品| 免费久久99精品国产自在现线| youjizz亚洲女人| 日韩午夜激情免费电影| 国产美女高潮在线观看| 亚洲国产精品久久久久婷婷老年| 国产一二三精品| 毛片视频网站在线观看| 在线视频国产日韩| 欧美日韩午夜电影网| 欧美日韩国产精品激情在线播放| 国产欧美一区二区精品性色 | 国产农村妇女精品| 国产婷婷在线视频| 2019精品视频| 久久久久久久久久久9不雅视频| bl动漫在线观看| 欧美日韩精品是欧美日韩精品| 欧美亚洲系列| 婷婷五月色综合| a在线欧美一区| 国产一区二区网站| 77777少妇光屁股久久一区| 国产韩国精品一区二区三区| 中文字幕影片免费在线观看| 69久久夜色精品国产69蝌蚪网| 欧美极品videos大乳护士|