Files
LanMountainDesktop/LanMountainDesktop/Views/SettingsPages/LauncherSettingsPage.axaml
lincube 9fb41378eb Migrate codebase to Avalonia 12 APIs
Apply Avalonia 12 migration changes: replace SystemDecorations with WindowDecorations and remove ExtendClientAreaChromeHints/ExtendClientAreaTitleBarHeightHint usages; update BindingPlugins removal logic (no-op); switch clipboard usage to ClipboardExtensions.SetTextAsync; update Bitmap.CopyPixels calls to the new signature. Replace TextBox.Watermark with PlaceholderText, convert NumberBox styles to FANumberBox and adjust templates, change Checked/Unchecked handlers to IsCheckedChanged, and adapt FluentIcons usages (SymbolIconSource -> FASymbol/FAFont/FluentIcon equivalents). Fix MainWindow partial classes to inherit Window and correct missing variables/fields/usings. Add migration docs/specs/tasks under .trae and include a small TestFluentIcons project for icon testing.
2026-04-29 08:50:28 +08:00

123 lines
6.8 KiB
XML

<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:LanMountainDesktop.ViewModels"
xmlns:controls="using:LanMountainDesktop.Controls"
xmlns:ui="using:FluentAvalonia.UI.Controls"
xmlns:fi="using:FluentIcons.Avalonia"
xmlns:symbol="using:FluentIcons.Common"
x:Class="LanMountainDesktop.Views.SettingsPages.LauncherSettingsPage"
x:DataType="vm:LauncherSettingsPageViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel Classes="settings-page-container settings-page-animated">
<Border Classes="settings-section-card">
<Grid ColumnDefinitions="Auto,*,Auto"
ColumnSpacing="18">
<Border Classes="settings-section-card-icon-host"
Width="72"
Height="72"
Padding="10">
<fi:SymbolIcon Symbol="Apps"
FontSize="34"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Border>
<StackPanel Grid.Column="1"
Spacing="4"
VerticalAlignment="Center">
<TextBlock Classes="settings-card-header"
Text="{Binding LauncherHeader}" />
<TextBlock Classes="settings-card-description"
Text="{Binding LauncherSubtitle}" />
<TextBlock Classes="settings-item-description"
Margin="0,10,0,0"
Text="{Binding HiddenHint}"
TextWrapping="Wrap" />
</StackPanel>
<StackPanel Grid.Column="2"
Spacing="4"
HorizontalAlignment="Right"
VerticalAlignment="Center">
<TextBlock Classes="settings-section-title"
FontSize="28"
HorizontalAlignment="Right"
Margin="0"
Text="{Binding HiddenCountText}" />
<TextBlock Classes="settings-item-description"
HorizontalAlignment="Right"
Text="{Binding HiddenSummary}" />
</StackPanel>
</Grid>
</Border>
<controls:IconText Icon="Apps"
Text="{Binding AppearanceHeader}"
Margin="0,0,0,4" />
<ui:FASettingsExpander Classes="settings-expander-card"
Header="{Binding AppearanceHeader}"
Description="{Binding AppearanceDescription}"
IsExpanded="True">
<ui:FASettingsExpander.IconSource>
<ui:FAFontIconSource Glyph="&#xF0274;" FontFamily="avares://fluenticons.resources.avalonia/Assets#Seagull Fluent Icons" />
</ui:FASettingsExpander.IconSource>
<ui:FASettingsExpanderItem>
<Grid ColumnDefinitions="*,Auto">
<StackPanel Spacing="2">
<TextBlock Text="{Binding ShowTileBackgroundHeader}" />
<TextBlock Classes="settings-item-description"
Text="{Binding ShowTileBackgroundDescription}" />
</StackPanel>
<ToggleSwitch Grid.Column="1"
IsChecked="{Binding ShowTileBackground}" />
</Grid>
</ui:FASettingsExpanderItem>
</ui:FASettingsExpander>
<controls:IconText Icon="Apps"
Text="{Binding HiddenHeader}"
Margin="0,24,0,4" />
<ui:FASettingsExpander Classes="settings-expander-card"
Header="{Binding HiddenHeader}"
Description="{Binding HiddenDescription}"
IsExpanded="True">
<ui:FASettingsExpander.IconSource>
<ui:FAFontIconSource Glyph="&#xF0274;" FontFamily="avares://fluenticons.resources.avalonia/Assets#Seagull Fluent Icons" />
</ui:FASettingsExpander.IconSource>
<ui:FASettingsExpanderItem>
<StackPanel Spacing="8">
<TextBlock Classes="settings-item-description"
IsVisible="{Binding IsHiddenItemsEmpty}"
Margin="0,0,0,4"
Text="{Binding HiddenEmptyText}"
TextWrapping="Wrap" />
<ItemsControl ItemsSource="{Binding HiddenItems}"
IsVisible="{Binding HasHiddenItems}">
<ItemsControl.ItemTemplate>
<DataTemplate x:DataType="vm:LauncherHiddenItemViewModel">
<ui:FASettingsExpanderItem Content="{Binding DisplayName}"
Description="{Binding TypeLabel}"
IsClickEnabled="False">
<ui:FASettingsExpanderItem.IconSource>
<ui:FAFontIconSource Glyph="&#xF0274;" FontFamily="avares://fluenticons.resources.avalonia/Assets#Seagull Fluent Icons" />
</ui:FASettingsExpanderItem.IconSource>
<ui:FASettingsExpanderItem.Footer>
<Button Command="{Binding RestoreCommand}"
Content="{Binding RestoreButtonText}"
VerticalAlignment="Center" />
</ui:FASettingsExpanderItem.Footer>
</ui:FASettingsExpanderItem>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</ui:FASettingsExpanderItem>
</ui:FASettingsExpander>
</StackPanel>
</ScrollViewer>
</UserControl>