Initial commit: FluidExplorer:从零实现的 WinUI 3 文件资源管理器替代品(Mica、命令栏、面包屑)

This commit is contained in:
WpyQwq
2026-09-19 11:54:03 +08:00
commit 5780fde61a
60 changed files with 15035 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--
图标全部取自 Windows 11 系统自带图标字体 Segoe Fluent Icons(SymbolThemeFontFamily),
即系统资源管理器使用的同一套字形,不引入任何第三方图标库。
每个码点都用 tools/render_glyphs.ps1 渲染核对过。
-->
<x:String x:Key="GlyphNew">&#xE710;</x:String>
<x:String x:Key="GlyphCut">&#xE8C6;</x:String>
<x:String x:Key="GlyphCopy">&#xE8C8;</x:String>
<x:String x:Key="GlyphPaste">&#xE77F;</x:String>
<x:String x:Key="GlyphRename">&#xE8AC;</x:String>
<x:String x:Key="GlyphDelete">&#xE74D;</x:String>
<x:String x:Key="GlyphUndo">&#xE7A7;</x:String>
<x:String x:Key="GlyphRedo">&#xE7A8;</x:String>
<x:String x:Key="GlyphSort">&#xE8CB;</x:String>
<x:String x:Key="GlyphView">&#xE890;</x:String>
<x:String x:Key="GlyphRefresh">&#xE72C;</x:String>
<x:String x:Key="GlyphBack">&#xE72B;</x:String>
<x:String x:Key="GlyphForward">&#xE72A;</x:String>
<x:String x:Key="GlyphUp">&#xE74A;</x:String>
<x:String x:Key="GlyphSearch">&#xE721;</x:String>
<x:String x:Key="GlyphSettings">&#xE713;</x:String>
<x:String x:Key="GlyphHome">&#xE80F;</x:String>
<x:String x:Key="GlyphGallery">&#xE91B;</x:String>
<x:String x:Key="GlyphFolder">&#xE8B7;</x:String>
<x:String x:Key="GlyphDrive">&#xEDA2;</x:String>
<x:String x:Key="GlyphNetwork">&#xE968;</x:String>
<x:String x:Key="GlyphRecycleBin">&#xE74D;</x:String>
<x:String x:Key="GlyphThisPc">&#xE977;</x:String>
<x:String x:Key="GlyphMore">&#xE712;</x:String>
<x:String x:Key="GlyphInfo">&#xE946;</x:String>
<x:String x:Key="GlyphList">&#xE8FD;</x:String>
<x:String x:Key="GlyphDetails">&#xE8A9;</x:String>
<x:String x:Key="GlyphGrid">&#xE80A;</x:String>
<x:String x:Key="GlyphDualPane">&#xE7C4;</x:String>
<x:String x:Key="GlyphShare">&#xE72D;</x:String>
<x:String x:Key="GlyphProperties">&#xE946;</x:String>
<x:String x:Key="GlyphOpenInNew">&#xE8A7;</x:String>
<x:String x:Key="GlyphPin">&#xE718;</x:String>
<x:String x:Key="GlyphRestore">&#xE7A7;</x:String>
<x:String x:Key="GlyphPath">&#xE8AB;</x:String>
<x:String x:Key="GlyphStop">&#xE71A;</x:String>
<x:String x:Key="GlyphPause">&#xE769;</x:String>
<x:String x:Key="GlyphPlay">&#xE768;</x:String>
<x:String x:Key="GlyphClear">&#xE894;</x:String>
<x:String x:Key="GlyphHidden">&#xE890;</x:String>
<x:String x:Key="GlyphExtension">&#xE8A5;</x:String>
<x:String x:Key="GlyphQueue">&#xE823;</x:String>
<x:String x:Key="GlyphRecent">&#xE81C;</x:String>
</ResourceDictionary>
+79
View File
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:helpers="using:FluidExplorer.Helpers">
<!--
设计原则(克制):
1. 颜色全部使用 WinUI 内置主题资源,深浅色/强调色自动跟随系统,不写死任何色值。
2. 布局尺寸对齐资源管理器:工具栏 48、地址栏 40、详情行 30、状态栏 26。
3. 动画只保留 WinUI 控件自带的那一套(悬停/选中/展开/对话框),不额外叠加。
-->
<helpers:BoolToVisibilityConverter x:Key="BoolToVisibility" />
<helpers:StringToVisibilityConverter x:Key="StringToVisibility" />
<helpers:CountToVisibilityConverter x:Key="CountToVisibility" />
<helpers:InverseBoolConverter x:Key="InverseBool" />
<helpers:KindToVisibilityConverter x:Key="KindToVisibility" />
<helpers:JobStateTextConverter x:Key="JobStateText" />
<helpers:JobProgressTextConverter x:Key="JobProgressText" />
<helpers:JobPauseGlyphConverter x:Key="JobPauseGlyph" />
<x:Double x:Key="ToolbarHeight">48</x:Double>
<x:Double x:Key="AddressBarHeight">40</x:Double>
<x:Double x:Key="DetailRowHeight">30</x:Double>
<x:Double x:Key="StatusBarHeight">26</x:Double>
<!-- 工具栏按钮:资源管理器同款 32×32、4px 圆角、悬停用系统浅色填充 -->
<Style x:Key="ToolbarButtonStyle" TargetType="Button" BasedOn="{StaticResource DefaultButtonStyle}">
<Setter Property="Width" Value="32" />
<Setter Property="Height" Value="32" />
<Setter Property="Padding" Value="0" />
<Setter Property="CornerRadius" Value="4" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="ToolbarToggleStyle" TargetType="ToggleButton" BasedOn="{StaticResource DefaultToggleButtonStyle}">
<Setter Property="Width" Value="32" />
<Setter Property="Height" Value="32" />
<Setter Property="Padding" Value="0" />
<Setter Property="CornerRadius" Value="4" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<!-- 图标字体:Segoe Fluent Icons = Windows 11 系统自带图标字体 -->
<Style x:Key="GlyphIconStyle" TargetType="FontIcon">
<Setter Property="FontFamily" Value="{StaticResource SymbolThemeFontFamily}" />
<Setter Property="FontSize" Value="16" />
</Style>
<Style x:Key="StatusBarTextStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="12" />
<Setter Property="Foreground" Value="{ThemeResource TextFillColorSecondaryBrush}" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="PaneHintTextStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="12" />
<Setter Property="Foreground" Value="{ThemeResource TextFillColorTertiaryBrush}" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
<!-- 详情视图列头 -->
<Style x:Key="ColumnHeaderButtonStyle" TargetType="Button" BasedOn="{StaticResource DefaultButtonStyle}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Padding" Value="8,0" />
<Setter Property="Height" Value="28" />
<Setter Property="CornerRadius" Value="4" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="FontSize" Value="12" />
<Setter Property="Foreground" Value="{ThemeResource TextFillColorSecondaryBrush}" />
</Style>
</ResourceDictionary>