Files
LanMountainDesktop/LanMountainDesktop/Views/NotificationDialogWindow.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

74 lines
3.2 KiB
XML

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:fi="using:FluentIcons.Avalonia"
xmlns:vm="using:LanMountainDesktop.Views"
x:Class="LanMountainDesktop.Views.NotificationDialogWindow"
x:DataType="vm:NotificationDialogViewModel"
WindowDecorations="None"
Background="Transparent"
ShowInTaskbar="False"
Topmost="True"
CanResize="False"
SizeToContent="WidthAndHeight"
TransparencyLevelHint="Transparent"
ExtendClientAreaToDecorationsHint="True"
ExtendClientAreaTitleBarHeightHint="-1">
<Border x:Name="DialogCard"
Background="#E8EAED"
CornerRadius="28"
Padding="24,20"
MinWidth="320"
MaxWidth="480">
<StackPanel Spacing="16">
<!-- Header with icon and title -->
<Grid ColumnDefinitions="Auto,*" ColumnSpacing="12">
<Border Grid.Column="0"
Width="40"
Height="40"
CornerRadius="20"
Background="{Binding SeverityBackground}"
VerticalAlignment="Center">
<fi:SymbolIcon Symbol="{Binding SeverityIcon}"
FontSize="20"
Foreground="White"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Border>
<TextBlock Grid.Column="1"
Text="{Binding Title}"
FontSize="18"
FontWeight="SemiBold"
TextWrapping="Wrap"
VerticalAlignment="Center"
Foreground="{DynamicResource SystemControlForegroundBaseHighBrush}" />
</Grid>
<!-- Message content -->
<TextBlock Text="{Binding Message}"
FontSize="14"
TextWrapping="Wrap"
Foreground="{DynamicResource SystemControlForegroundBaseMediumBrush}"
IsVisible="{Binding Message, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" />
<!-- Action buttons -->
<StackPanel Orientation="Horizontal"
Spacing="8"
HorizontalAlignment="Right"
IsVisible="{Binding HasButtons}">
<Button Content="{Binding SecondaryButtonText}"
Command="{Binding SecondaryCommand}"
CornerRadius="20"
Padding="20,10"
IsVisible="{Binding SecondaryButtonText, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" />
<Button Content="{Binding PrimaryButtonText}"
Command="{Binding PrimaryCommand}"
Classes="accent"
CornerRadius="20"
Padding="20,10"
IsVisible="{Binding PrimaryButtonText, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" />
</StackPanel>
</StackPanel>
</Border>
</Window>