2025全新教程:MaterialDesignInXamlToolkit快速上手,30分钟打造现代化WPF界面
2026-02-04 05:06:43作者:邓越浪Henry
你是否还在为WPF应用界面陈旧、开发效率低下而烦恼?是否想快速将Google Material Design的精美UI引入你的桌面应用?本文将带你在30分钟内完成MaterialDesignInXamlToolkit的环境搭建与核心组件应用,让你的WPF应用焕然一新。读完本文你将掌握:
- 开发环境的快速配置与项目初始化
- 主题切换与色彩系统定制
- 常用UI组件的实战应用
- 布局系统与响应式设计
- 性能优化与高级功能
一、环境准备与项目搭建
1.1 开发环境要求
| 软件/工具 | 最低版本要求 | 推荐版本 |
|---|---|---|
| Visual Studio | 2019 | 2022 17.5+ |
| .NET SDK | .NET 5.0 | .NET 8.0 |
| Git | 2.30.0 | 2.40.0+ |
1.2 项目初始化
通过命令行克隆仓库并创建示例项目:
# 克隆仓库
git clone https://gitcode.com/gh_mirrors/ma/MaterialDesignInXamlToolkit
# 创建新的WPF项目
dotnet new wpf -n MaterialDesignDemo
cd MaterialDesignDemo
# 添加MaterialDesignThemes NuGet包
dotnet add package MaterialDesignThemes --version 4.9.0
二、基础配置与主题设置
2.1 App.xaml配置
修改App.xaml文件,引入Material Design主题资源:
<Application
x:Class="MaterialDesignDemo.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!-- 基础主题设置 -->
<materialDesign:BundledTheme
BaseTheme="Light"
PrimaryColor="DeepPurple"
SecondaryColor="Lime" />
<!-- 控件样式 -->
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesign2.Defaults.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
2.2 窗口样式应用
修改MainWindow.xaml,应用Material Design窗口样式:
<Window x:Class="MaterialDesignDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
Title="Material Design Demo"
Height="450" Width="800"
Style="{StaticResource MaterialDesignWindow}">
<Grid>
<!-- 窗口内容将在这里添加 -->
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"
FontSize="24" materialDesign:TextBlockAssist.FontWeight="Medium">
Hello Material Design!
</TextBlock>
</Grid>
</Window>
三、核心组件实战应用
3.1 按钮(Button)与图标(PackIcon)
Material Design提供了丰富的按钮样式和图标库:
<StackPanel Margin="16" Orientation="Horizontal" Spacing="8">
<!-- 主要按钮 -->
<Button Style="{StaticResource MaterialDesignRaisedButton}"
Content="主要按钮" />
<!-- 次要按钮 -->
<Button Style="{StaticResource MaterialDesignRaisedSecondaryButton}"
Content="次要按钮" />
<!-- 图标按钮 -->
<Button Style="{StaticResource MaterialDesignIconButton}">
<materialDesign:PackIcon Kind="Add" />
</Button>
<!-- 文本按钮 -->
<Button Style="{StaticResource MaterialDesignFlatButton}"
Content="文本按钮" />
<!-- 带图标的按钮 -->
<Button Style="{StaticResource MaterialDesignRaisedButton}">
<StackPanel Orientation="Horizontal" Spacing="8">
<materialDesign:PackIcon Kind="Save" />
<TextBlock>保存</TextBlock>
</StackPanel>
</Button>
</StackPanel>
3.2 文本框(TextField)与输入控件
现代化的表单控件与验证反馈:
<StackPanel Margin="16" Spacing="16">
<!-- 基本文本框 -->
<TextBox materialDesign:HintAssist.Hint="用户名"
Style="{StaticResource MaterialDesignOutlinedTextBox}" />
<!-- 带图标的文本框 -->
<TextBox materialDesign:HintAssist.Hint="密码"
materialDesign:TextFieldAssist.PrefixIcon="{materialDesign:PackIcon Kind=Lock}"
Style="{StaticResource MaterialDesignOutlinedTextBox}"
PasswordChar="●" />
<!-- 多行文本框 -->
<TextBox materialDesign:HintAssist.Hint="备注信息"
Style="{StaticResource MaterialDesignOutlinedTextBox}"
AcceptsReturn="True" Height="100" />
<!-- 带错误提示的文本框 -->
<TextBox materialDesign:HintAssist.Hint="邮箱地址"
materialDesign:ValidationAssist.ErrorContent="请输入有效的邮箱地址"
Style="{StaticResource MaterialDesignOutlinedTextBox}" />
</StackPanel>
3.3 卡片(Card)与列表(List)
信息展示的核心组件:
<ScrollViewer Margin="16">
<StackPanel Spacing="16">
<!-- 基本卡片 -->
<materialDesign:Card materialDesign:ElevationAssist.Elevation="Dp4">
<StackPanel Margin="16">
<TextBlock FontSize="18" materialDesign:TextBlockAssist.FontWeight="Medium">
基本卡片
</TextBlock>
<TextBlock Margin="0,8,0,0" Opacity="0.6">
这是一个基本的卡片组件,可以包含各种内容如文本、图片和按钮。
</TextBlock>
<Button Margin="0,16,0,0" Style="{StaticResource MaterialDesignFlatButton}">
了解更多
</Button>
</StackPanel>
</materialDesign:Card>
<!-- 带阴影的卡片列表 -->
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<materialDesign:Card Margin="0,0,0,16"
materialDesign:ElevationAssist.Elevation="Dp2"
MouseEnter="Card_MouseEnter"
MouseLeave="Card_MouseLeave">
<StackPanel Margin="16" Orientation="Horizontal" Spacing="16">
<materialDesign:PackIcon Kind="{Binding Icon}"
Width="24" Height="24" />
<StackPanel>
<TextBlock Text="{Binding Title}"
materialDesign:TextBlockAssist.FontWeight="Medium" />
<TextBlock Text="{Binding Description}"
Opacity="0.6" Margin="0,4,0,0" />
</StackPanel>
</StackPanel>
</materialDesign:Card>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ScrollViewer>
3.4 对话框(Dialog)与提示(Snackbar)
用户交互与反馈机制:
<Grid>
<!-- 对话框主机 -->
<materialDesign:DialogHost Identifier="RootDialog">
<StackPanel Margin="16" Spacing="16">
<Button Click="ShowDialog_Click"
Content="显示对话框"
Style="{StaticResource MaterialDesignRaisedButton}" />
<Button Click="ShowSnackbar_Click"
Content="显示提示消息"
Style="{StaticResource MaterialDesignRaisedSecondaryButton}" />
</StackPanel>
</materialDesign:DialogHost>
<!-- 提示消息控件 -->
<materialDesign:Snackbar x:Name="MainSnackbar"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
Margin="16" />
</Grid>
对应的后台代码:
private async void ShowDialog_Click(object sender, RoutedEventArgs e)
{
var dialogResult = await materialDesign:DialogHost.Show(
new StackPanel Margin="16" Spacing="16">
<TextBlock FontSize="18" materialDesign:TextBlockAssist.FontWeight="Medium">
确认操作
</TextBlock>
<TextBlock>
您确定要执行此操作吗?此操作无法撤销。
</TextBlock>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Spacing="8">
<Button Command="materialDesign:DialogHost.CloseDialogCommand"
Content="取消"
Style="{StaticResource MaterialDesignFlatButton}" />
<Button Command="materialDesign:DialogHost.CloseDialogCommand"
Content="确认"
Style="{StaticResource MaterialDesignRaisedButton}"
CommandParameter="true" />
</StackPanel>
</StackPanel>, "RootDialog");
if (dialogResult is bool result && result)
{
// 用户点击了确认按钮
MainSnackbar.MessageQueue.Enqueue("操作已完成");
}
}
private void ShowSnackbar_Click(object sender, RoutedEventArgs e)
{
MainSnackbar.MessageQueue.Enqueue("这是一条提示消息");
}
四、主题切换与个性化定制
4.1 运行时切换主题
实现明暗主题与颜色方案的动态切换:
<StackPanel Margin="16" Spacing="16">
<TextBlock FontSize="18" materialDesign:TextBlockAssist.FontWeight="Medium">
主题设置
</TextBlock>
<!-- 明暗主题切换 -->
<ToggleButton x:Name="ThemeToggle"
IsChecked="{Binding IsDarkTheme}">
<StackPanel Orientation="Horizontal" Spacing="8">
<materialDesign:PackIcon Kind="{Binding IsDarkTheme, Converter={StaticResource ThemeIconConverter}}" />
<TextBlock Text="{Binding IsDarkTheme, Converter={StaticResource ThemeTextConverter}}" />
</StackPanel>
</ToggleButton>
<!-- 主色调选择 -->
<StackPanel>
<TextBlock Margin="0,0,0,8">主色调</TextBlock>
<WrapPanel Spacing="8">
<Button Width="32" Height="32" Background="#6200EE" Click="ChangePrimaryColor_Click" Tag="DeepPurple" />
<Button Width="32" Height="32" Background="#F44336" Click="ChangePrimaryColor_Click" Tag="Red" />
<Button Width="32" Height="32" Background="#4CAF50" Click="ChangePrimaryColor_Click" Tag="Green" />
<Button Width="32" Height="32" Background="#2196F3" Click="ChangePrimaryColor_Click" Tag="Blue" />
<Button Width="32" Height="32" Background="#FF9800" Click="ChangePrimaryColor_Click" Tag="Orange" />
</WrapPanel>
</StackPanel>
</StackPanel>
主题切换的后台代码:
private readonly PaletteHelper _paletteHelper = new PaletteHelper();
private void ThemeToggle_Checked(object sender, RoutedEventArgs e)
{
// 切换到深色主题
var theme = _paletteHelper.GetTheme();
theme.SetBaseTheme(Theme.Dark);
_paletteHelper.SetTheme(theme);
}
private void ThemeToggle_Unchecked(object sender, RoutedEventArgs e)
{
// 切换到浅色主题
var theme = _paletteHelper.GetTheme();
theme.SetBaseTheme(Theme.Light);
_paletteHelper.SetTheme(theme);
}
private void ChangePrimaryColor_Click(object sender, RoutedEventArgs e)
{
if (sender is Button button && button.Tag is string colorName)
{
var palette = _paletteHelper.GetPalette();
var swatch = new SwatchesProvider().Swatches.FirstOrDefault(s => s.Name == colorName);
if (swatch != null)
{
palette.SetPrimaryColor(swatch);
_paletteHelper.SetPalette(palette);
}
}
}
五、布局系统与响应式设计
5.1 响应式网格布局
使用Grid和断点实现自适应布局:
<Grid Margin="16">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- 标题行 - 跨所有列 -->
<TextBlock Grid.ColumnSpan="3" FontSize="24" materialDesign:TextBlockAssist.FontWeight="Medium"
Margin="0,0,0,16">响应式布局示例</TextBlock>
<!-- 卡片1 -->
<materialDesign:Card Grid.Column="0" Grid.Row="1" Margin="0,0,8,0">
<StackPanel Margin="16">
<materialDesign:PackIcon Kind="DesktopMac" Width="48" Height="48" />
<TextBlock Margin="0,16,0,0" FontSize="18" materialDesign:TextBlockAssist.FontWeight="Medium">
桌面应用
</TextBlock>
</StackPanel>
</materialDesign:Card>
<!-- 卡片2 -->
<materialDesign:Card Grid.Column="1" Grid.Row="1" Margin="4,0,4,0">
<StackPanel Margin="16">
<materialDesign:PackIcon Kind="Tablet" Width="48" Height="48" />
<TextBlock Margin="0,16,0,0" FontSize="18" materialDesign:TextBlockAssist.FontWeight="Medium">
平板应用
</TextBlock>
</StackPanel>
</materialDesign:Card>
<!-- 卡片3 -->
<materialDesign:Card Grid.Column="2" Grid.Row="1" Margin="8,0,0,0">
<StackPanel Margin="16">
<materialDesign:PackIcon Kind="Phone" Width="48" Height="48" />
<TextBlock Margin="0,16,0,0" FontSize="18" materialDesign:TextBlockAssist.FontWeight="Medium">
移动应用
</TextBlock>
</StackPanel>
</materialDesign:Card>
<!-- 响应式布局触发器 -->
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="WideScreen" />
<VisualState x:Name="MediumScreen">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="600" MaxWindowWidth="900" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="card3.(Grid.Column)" Value="0" />
<Setter Target="card3.(Grid.Row)" Value="2" />
<Setter Target="card3.(Grid.ColumnSpan)" Value="2" />
<Setter Target="card3.Margin" Value="0,8,0,0" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="NarrowScreen">
<VisualState.StateTriggers>
<AdaptiveTrigger MaxWindowWidth="600" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="card2.(Grid.Column)" Value="0" />
<Setter Target="card2.(Grid.Row)" Value="2" />
<Setter Target="card2.Margin" Value="0,8,0,0" />
<Setter Target="card3.(Grid.Column)" Value="0" />
<Setter Target="card3.(Grid.Row)" Value="3" />
<Setter Target="card3.Margin" Value="0,8,0,0" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
5.2 侧边栏抽屉(Drawer)
实现现代化的导航体验:
<materialDesign:DrawerHost IsLeftDrawerOpen="{Binding ElementName=MenuToggleButton, Path=IsChecked}">
<materialDesign:DrawerHost.LeftDrawerContent>
<!-- 侧边栏内容 -->
<DockPanel MinWidth="240" Background="{DynamicResource MaterialDesignPaper}">
<StackPanel Margin="16">
<TextBlock FontSize="18" materialDesign:TextBlockAssist.FontWeight="Medium">
导航菜单
</TextBlock>
<ListBox Margin="0,16,0,0" Style="{StaticResource MaterialDesignNavigationListBox}">
<ListBoxItem>
<StackPanel Orientation="Horizontal" Spacing="16">
<materialDesign:PackIcon Kind="Home" />
<TextBlock>首页</TextBlock>
</StackPanel>
</ListBoxItem>
<ListBoxItem>
<StackPanel Orientation="Horizontal" Spacing="16">
<materialDesign:PackIcon Kind="Settings" />
<TextBlock>设置</TextBlock>
</StackPanel>
</ListBoxItem>
<ListBoxItem>
<StackPanel Orientation="Horizontal" Spacing="16">
<materialDesign:PackIcon Kind="HelpCircle" />
<TextBlock>帮助</TextBlock>
</StackPanel>
</ListBoxItem>
</ListBox>
</StackPanel>
</DockPanel>
</materialDesign:DrawerHost.LeftDrawerContent>
<!-- 主内容区 -->
<DockPanel>
<!-- 顶部栏 -->
<materialDesign:ColorZone DockPanel.Dock="Top" Mode="PrimaryMid" Padding="16">
<StackPanel Orientation="Horizontal">
<ToggleButton x:Name="MenuToggleButton"
Style="{StaticResource MaterialDesignHamburgerToggleButton}" />
<TextBlock Margin="16,0,0,0"
FontSize="18"
VerticalAlignment="Center">
主内容区域
</TextBlock>
</StackPanel>
</materialDesign:ColorZone>
<!-- 页面内容 -->
<ScrollViewer Margin="16">
<TextBlock>主应用内容将显示在这里...</TextBlock>
</ScrollViewer>
</DockPanel>
</materialDesign:DrawerHost>
六、性能优化与最佳实践
6.1 减少布局复杂度
<!-- 避免过度嵌套 -->
<!-- 不推荐 -->
<Grid>
<Grid.RowDefinitions><RowDefinition Height="*"/></Grid.RowDefinitions>
<StackPanel>
<Border>
<TextBlock>内容</TextBlock>
</Border>
</StackPanel>
</Grid>
<!-- 推荐 -->
<Border Margin="16">
<TextBlock>内容</TextBlock>
</Border>
6.2 使用Freezable对象缓存资源
<Window.Resources>
<!-- 可冻结的画笔资源 -->
<SolidColorBrush x:Key="CachedBrush" Color="#6200EE" x:Shared="True" />
<!-- 预定义的图标资源 -->
<materialDesign:PackIcon x:Key="UserIcon" Kind="User" x:Shared="True" />
</Window.Resources>
6.3 列表虚拟化
处理大量数据时提升性能:
<ListBox VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling"
ScrollViewer.IsDeferredScrollingEnabled="True">
<!-- 列表内容 -->
</ListBox>
七、项目实战:任务管理应用
整合所学知识,创建一个简单但功能完整的任务管理应用:
<Window x:Class="TaskManager.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
Title="任务管理器" Height="600" Width="800"
Style="{StaticResource MaterialDesignWindow}">
<materialDesign:DialogHost Identifier="RootDialog">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- 顶部栏 -->
<materialDesign:ColorZone Grid.Row="0" Mode="PrimaryMid" Padding="16">
<StackPanel Orientation="Horizontal" Spacing="16">
<materialDesign:PackIcon Kind="CheckCircle" Width="32" Height="32" />
<TextBlock FontSize="20" VerticalAlignment="Center">任务管理器</TextBlock>
<Button Margin="0,0,0,0" HorizontalAlignment="Right"
Style="{StaticResource MaterialDesignFloatingActionButton}"
Click="AddTask_Click">
<materialDesign:PackIcon Kind="Plus" />
</Button>
</StackPanel>
</materialDesign:ColorZone>
<!-- 任务列表 -->
<ScrollViewer Grid.Row="1" Margin="16">
<StackPanel Spacing="8">
<!-- 任务项1 -->
<materialDesign:Card materialDesign:ElevationAssist.Elevation="Dp2">
<StackPanel Orientation="Horizontal" Margin="16">
<CheckBox Margin="0,2,0,0" IsChecked="False" />
<StackPanel Margin="16,0,0,0" Width="*">
<TextBlock FontSize="16" materialDesign:TextBlockAssist.FontWeight="Medium">
完成Material Design教程
</TextBlock>
<TextBlock Margin="0,4,0,0" Opacity="0.6">
学习并掌握MaterialDesignInXamlToolkit的核心组件
</TextBlock>
<StackPanel Orientation="Horizontal" Margin="0,8,0,0" Spacing="8">
<materialDesign:Chip Content="学习" IsDeletable="False" />
<materialDesign:Chip Content="WPF" IsDeletable="False" />
<materialDesign:Chip Content="2小时" IsDeletable="False" />
</StackPanel>
</StackPanel>
<Button Style="{StaticResource MaterialDesignIconButton}">
<materialDesign:PackIcon Kind="MoreVert" />
</Button>
</StackPanel>
</materialDesign:Card>
<!-- 任务项2 (已完成) -->
<materialDesign:Card materialDesign:ElevationAssist.Elevation="Dp2">
<StackPanel Orientation="Horizontal" Margin="16">
<CheckBox Margin="0,2,0,0" IsChecked="True" />
<StackPanel Margin="16,0,0,0" Width="*">
<TextBlock FontSize="16" materialDesign:TextBlockAssist.FontWeight="Medium"
TextDecorations="Strikethrough" Opacity="0.6">
搭建开发环境
</TextBlock>
<TextBlock Margin="0,4,0,0" Opacity="0.6">
安装Visual Studio和必要的NuGet包
</TextBlock>
<StackPanel Orientation="Horizontal" Margin="0,8,0,0" Spacing="8">
<materialDesign:Chip Content="环境" IsDeletable="False" />
<materialDesign:Chip Content="配置" IsDeletable="False" />
<materialDesign:Chip Content="30分钟" IsDeletable="False" />
</StackPanel>
</StackPanel>
<Button Style="{StaticResource MaterialDesignIconButton}">
<materialDesign:PackIcon Kind="MoreVert" />
</Button>
</StackPanel>
</materialDesign:Card>
<!-- 更多任务项... -->
</StackPanel>
</ScrollViewer>
<!-- 提示消息控件 -->
<materialDesign:Snackbar x:Name="MainSnackbar"
HorizontalAlignment="Center"
VerticalAlignment="Bottom"
Margin="16" />
</Grid>
</materialDesign:DialogHost>
</Window>
八、总结与进阶学习
通过本文的学习,你已经掌握了MaterialDesignInXamlToolkit的核心用法,能够快速构建现代化的WPF应用界面。以下是进一步提升的学习路径:
- 深入主题定制:学习自定义颜色方案和控件样式
- 动画与过渡效果:使用TransitionAssist实现页面切换动画
- MVVM模式整合:结合MVVM框架如Prism或MVVM Light
- 单元测试:学习如何测试Material Design组件
- 性能优化:深入理解WPF渲染机制和性能调优
MaterialDesignInXamlToolkit为WPF开发带来了全新的可能性,让你能够以更少的代码创建更具吸引力的用户界面。持续关注项目更新,探索更多高级功能,打造卓越的桌面应用体验!
如果你觉得本文对你有帮助,请点赞、收藏并关注,以便获取更多WPF和Material Design开发技巧!
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0245- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python05
热门内容推荐
最新内容推荐
解锁Duix-Avatar本地化部署:构建专属AI视频创作平台的实战指南Linux内核性能优化实战指南:从调度器选择到系统响应速度提升DBeaver PL/SQL开发实战:解决Oracle存储过程难题的完整方案RNacos技术实践:高性能服务发现与配置中心5步法RePKG资源提取与文件转换全攻略:从入门到精通的技术指南揭秘FLUX 1-dev:如何通过轻量级架构实现高效文本到图像转换OpenPilot实战指南:从入门到精通的5个关键步骤Realtek r8125驱动:释放2.5G网卡性能的Linux配置指南Real-ESRGAN:AI图像增强与超分辨率技术实战指南静态网站托管新手指南:零成本搭建专业级个人网站
项目优选
收起
deepin linux kernel
C
27
13
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
641
4.19 K
Ascend Extension for PyTorch
Python
478
579
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
934
841
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
386
272
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.51 K
866
暂无简介
Dart
884
211
仓颉编程语言运行时与标准库。
Cangjie
161
922
昇腾LLM分布式训练框架
Python
139
162
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21