添加 MX-PD-盘古 项目文件

将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
This commit is contained in:
Shi.Ji
2026-05-18 11:43:09 +08:00
parent 03632a379d
commit e31d3560bb
739 changed files with 99783 additions and 0 deletions

View File

@@ -0,0 +1,296 @@
<Window x:Class="MainShell.Common.View.MwMessageBoxWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:common="clr-namespace:MainShell.Common"
xmlns:behaviors="clr-namespace:MainShell.Common.Behaviors"
mc:Ignorable="d"
MinWidth="360"
MinHeight="220"
MaxWidth="720"
SizeToContent="WidthAndHeight"
ResizeMode="NoResize"
WindowStartupLocation="CenterScreen"
AllowsTransparency="True"
WindowStyle="None"
Background="Transparent"
ShowInTaskbar="False"
Title="{Binding State.Caption}"
FlowDirection="{Binding State.WindowFlowDirection}"
UseLayoutRounding="True"
SnapsToDevicePixels="True"
common:WindowService.DialogResult="{Binding DialogResult}">
<Window.Resources>
<Style x:Key="MwMessageBoxButtonStyle" TargetType="Button">
<Setter Property="Foreground" Value="#374151"/>
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="BorderBrush" Value="#C9D5E5"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="3">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding DataContext.IsPrimary, RelativeSource={RelativeSource TemplatedParent}}" Value="True">
<Setter Property="Background" Value="#2E5FA7"/>
<Setter Property="BorderBrush" Value="#2E5FA7"/>
<Setter Property="Foreground" Value="#FFFFFF"/>
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding DataContext.IsPrimary, RelativeSource={RelativeSource TemplatedParent}}" Value="False"/>
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#F5F8FC"/>
<Setter Property="BorderBrush" Value="#AFC3DD"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding DataContext.IsPrimary, RelativeSource={RelativeSource TemplatedParent}}" Value="False"/>
<Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#E8EEF6"/>
<Setter Property="BorderBrush" Value="#9FB7D6"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding DataContext.IsPrimary, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#254F8D"/>
<Setter Property="BorderBrush" Value="#254F8D"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding DataContext.IsPrimary, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
<Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource TemplatedParent}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#1E4174"/>
<Setter Property="BorderBrush" Value="#1E4174"/>
</MultiDataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="#9CA3AF"/>
<Setter Property="Background" Value="#F3F4F6"/>
<Setter Property="BorderBrush" Value="#E5E7EB"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="MwMessageBoxCaptionStyle" TargetType="TextBlock">
<Setter Property="Text" Value="{Binding State.Caption}"/>
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<Trigger Property="Text" Value="">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="MwMessageBoxCloseButtonStyle" TargetType="Button">
<Setter Property="Width" Value="44"/>
<Setter Property="Height" Value="32"/>
<Setter Property="Foreground" Value="#FFFFFF"/>
<Setter Property="Background" Value="#2E5FA7"/>
<Setter Property="BorderBrush" Value="#2E5FA7"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#C94A4A"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#A53B3B"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Closing">
<i:InvokeCommandAction Command="{Binding WindowClosingCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<Border Background="#FFFFFF"
CornerRadius="2"
BorderBrush="#C6D1DF"
BorderThickness="1">
<Border.Effect>
<DropShadowEffect Color="#1F3A5A"
BlurRadius="18"
ShadowDepth="2"
Opacity="0.18"/>
</Border.Effect>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Background="#2E5FA7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0"
behaviors:WindowDragMoveBehavior.IsEnabled="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Width="16"
Height="16"
Margin="10,0,8,0"
VerticalAlignment="Center"
BorderBrush="#D8E6F7"
BorderThickness="1"
CornerRadius="8">
<TextBlock Text="i"
Foreground="#FFFFFF"
FontSize="11"
FontWeight="Bold"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
<TextBlock Grid.Column="1"
VerticalAlignment="Center"
Foreground="#FFFFFF"
FontSize="13"
FontWeight="Normal"
TextTrimming="CharacterEllipsis">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Text" Value="{Binding State.Caption}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding State.Caption}" Value="{x:Null}">
<Setter Property="Text" Value="{DynamicResource Msg_Title_Info}"/>
</DataTrigger>
<DataTrigger Binding="{Binding State.Caption}" Value="">
<Setter Property="Text" Value="{DynamicResource Msg_Title_Info}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
<Button Grid.Column="1"
x:Name="CloseButton"
Style="{StaticResource MwMessageBoxCloseButtonStyle}"
Click="OnCloseButtonClick"/>
</Grid>
<Grid Grid.Row="1" Margin="28,28,28,22">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Width="62"
Height="62"
HorizontalAlignment="Center"
Background="#FFFFFF"
BorderBrush="{Binding State.AccentBrush}"
BorderThickness="1.5"
CornerRadius="31">
<Viewbox Width="26"
Height="26"
Stretch="Uniform">
<Path Data="{Binding State.IconPathData}"
Fill="{Binding State.IconForegroundBrush}"
Stretch="Uniform"/>
</Viewbox>
</Border>
<TextBlock Grid.Row="1"
Margin="0,18,0,0"
HorizontalAlignment="Center"
Foreground="#1F2937"
FontSize="17"
FontWeight="SemiBold"
TextAlignment="Center"
Style="{StaticResource MwMessageBoxCaptionStyle}"/>
<TextBlock Grid.Row="2"
Margin="0,14,0,0"
MaxWidth="540"
Text="{Binding State.Message}"
TextWrapping="Wrap"
Foreground="#4B5563"
FontSize="14"
LineHeight="23"
TextAlignment="Center"
FlowDirection="{Binding State.MessageFlowDirection}"/>
</Grid>
<Grid Grid.Row="2">
<Grid.RowDefinitions>
<RowDefinition Height="1"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0"
Background="#E7EEF7"/>
<ItemsControl Grid.Row="1"
Margin="0,18,0,20"
ItemsSource="{Binding State.Buttons}"
HorizontalAlignment="Center"
MaxWidth="560">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Text}"
MinWidth="96"
Height="38"
Margin="8,0,8,0"
Padding="22,0,22,0"
IsDefault="{Binding IsDefault}"
IsCancel="{Binding IsCancel}"
Style="{Binding ButtonStyle, TargetNullValue={StaticResource MwMessageBoxButtonStyle}}"
Command="{Binding DataContext.SelectButtonCommand, RelativeSource={RelativeSource AncestorType=Window}}"
CommandParameter="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Grid>
</Border>
</Window>

View File

@@ -0,0 +1,20 @@
using System.Windows;
using MainShell.Common.ViewModel;
namespace MainShell.Common.View
{
public partial class MwMessageBoxWindow : Window
{
public MwMessageBoxWindow(MwMessageBoxWindowViewModel viewModel)
{
InitializeComponent();
DataContext = viewModel ?? throw new System.ArgumentNullException(nameof(viewModel));
CloseButton.Content = "\u00D7";
}
private void OnCloseButtonClick(object sender, System.Windows.RoutedEventArgs e)
{
this.Close();
}
}
}