feat:dialog删除

master
sunhonglei 7 months ago
parent 5ed77e893e
commit bfb345539c
  1. 5
      App.xaml
  2. 3
      SparkClient.csproj
  3. 3
      ViewModel/BaseWindow/HomeWindowVM.cs
  4. 9
      ViewModel/Grading/GradingResultVM.cs
  5. 2
      Views/Dialog/JsonImport.xaml.cs
  6. 85
      Views/Dialog/SaveDialog.xaml
  7. 90
      Views/Dialog/SaveDialog.xaml.cs
  8. 85
      Views/Dialog/StartDialog.xaml
  9. 97
      Views/Dialog/StartDialog.xaml.cs

@ -74,10 +74,7 @@
<DataTemplate DataType="{x:Type gradingVM:GradingResultVM}">
<gradingView:GradingResult/>
</DataTemplate>
<DataTemplate DataType="{x:Type dialogVM:StartDialogVM}">
<dialogView:StartDialog/>
</DataTemplate>
</ResourceDictionary>
</Application.Resources>
</Application>

@ -215,9 +215,6 @@
<Compile Update="Views\Dialog\ExportDialog.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="Views\Dialog\SaveDialog.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
</Project>

@ -1,4 +1,5 @@
using System.Windows.Input;
using System.Windows;
using System.Windows.Input;
using SparkClient.Model.Helper;
using SparkClient.Model.Services;
using SparkClient.ViewModel.Configuration;

@ -15,6 +15,7 @@ using SparkClient.Views.Dialog;
using NPOI.HPSF;
using Application = System.Windows.Application;
using MessageBox = SparkClient.Views.Dialog.MessageBox;
using System.Windows;
namespace SparkClient.ViewModel.Grading;
public class GradingResultVM : BaseViewModel
@ -505,11 +506,11 @@ public class GradingResultVM : BaseViewModel
if (string.IsNullOrEmpty(DiamondCode))
{
MessageBox messageBox = new MessageBox();
messageBox.ShowInput(MultilingualHelper.getString("UpdateDiamondCode"), out string inputStr,
MessageBoxResult boxResult = messageBox.ShowInput(MultilingualHelper.getString("UpdateDiamondCode"), out string inputStr,
MultilingualHelper.getString("ok"),
MultilingualHelper.getString("Cancel")
);
if (inputStr.Length > 0)
if (boxResult == MessageBoxResult.OK && inputStr.Length > 0)
{
this.DiamondCode = inputStr;
}
@ -546,12 +547,12 @@ public class GradingResultVM : BaseViewModel
if (string.IsNullOrEmpty(DiamondCode))
{
MessageBox messageBox = new MessageBox();
messageBox.ShowInput(MultilingualHelper.getString("UpdateDiamondCode"), out string inputStr,
MessageBoxResult boxResult = messageBox.ShowInput(MultilingualHelper.getString("UpdateDiamondCode"), out string inputStr,
MultilingualHelper.getString("ok"),
MultilingualHelper.getString("Cancel")
);
if (inputStr.Length > 0)
if (boxResult == MessageBoxResult.OK && inputStr.Length > 0)
{
this.DiamondCode = inputStr;
}

@ -1,6 +1,4 @@
using HandyControl.Controls;
using Newtonsoft.Json;
using SparkClient.Model.Helper;
using SparkClient.ViewModel;
using SparkClient.ViewModel.Dialog;
using System.IO;

@ -1,85 +0,0 @@
<Window x:Class="SparkClient.Views.Dialog.SaveDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SparkClient.Views.Dialog"
xmlns:hc="https://handyorg.github.io/handycontrol"
mc:Ignorable="d"
d:DesignHeight="222" d:DesignWidth="562"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
WindowStyle="None" AllowsTransparency="True" Background="Transparent">
<Border CornerRadius="15" Background="White" x:Name="Border" >
<Grid ClipToBounds="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<!-- 模拟顶部标题栏 -->
<Grid Grid.Row="0" Background="#795C2A" Height="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!-- 关闭按钮 -->
<Border Grid.Column="2"
Width="40" Height="30"
Margin=" 0 0 10 0"
HorizontalAlignment="Right" VerticalAlignment="Center"
Background="Transparent"
MouseEnter="Border_Close_MouseEnter"
MouseLeave="Border_MouseLeave">
<Button Background="Transparent" BorderBrush="Transparent" Click="Close_Click">
<Viewbox Stretch="Uniform">
<Path Data="{StaticResource CloseGeometry}"
Fill="Azure"
Stroke="Azure"
StrokeThickness="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="20 0 0 0"
Width="30" />
</Viewbox>
</Button>
</Border>
</Grid>
<StackPanel Grid.Row="1" VerticalAlignment="Center" >
<Grid Height="30" Margin="0 10 0 10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="5*" />
<ColumnDefinition Width="9*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Grid.Column="1" HorizontalAlignment="Center" Content="{DynamicResource UpdateDiamondCode}" Background="Transparent"
BorderBrush="Transparent"
FontSize="16" FontFamily="AlibabaPuHui-regular" />
<TextBox TextWrapping="Wrap" Name ="DiamondCode" Grid.Column="2" Text="{Binding InputText}" />
<TextBlock Text="{DynamicResource Please enter}" Grid.Column="2" Foreground="Gray" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Text, ElementName=Id}" Value="">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Column="2" Content="{DynamicResource ok}" HorizontalAlignment="Center" Click="Ok_Click" />
<Button Grid.Column="3" Content="{DynamicResource Cancel}" HorizontalAlignment="Center" Click="Close_Click" />
</Grid>
</StackPanel>
</Grid>
</Border>
</Window>

@ -1,90 +0,0 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
namespace SparkClient.Views.Dialog
{
/// <summary>
/// StartDialog.xaml 的交互逻辑
/// </summary>
public partial class SaveDialog
{
public SaveDialog()
{
WindowStartupLocation = WindowStartupLocation.CenterScreen;
InitializeComponent();
// 动态设置圆角裁剪
this.Loaded += (s, e) => ApplyCornerRadiusClip();
this.SizeChanged += (s, e) => ApplyCornerRadiusClip(); // 保证在大小改变时也裁剪
this.Width = 562;
this.Height = 222;
}
#region 重写窗体操作按钮
private void Border_Minimize_MouseEnter(object sender, MouseEventArgs e)
{
// 鼠标进入时更改背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
}
}
private void Border_Close_MouseEnter(object sender, MouseEventArgs e)
{
// 鼠标进入时更改背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 0, 0));
}
}
private void Border_MouseLeave(object sender, MouseEventArgs e)
{
// 鼠标离开时恢复背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Colors.Transparent);
}
}
private void Minimize_Click(object sender, MouseButtonEventArgs e)
{
this.WindowState = WindowState.Minimized;
}
private void UIElement_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
try
{
this.DragMove();
}
catch (InvalidOperationException ex)
{
}
}
}
#endregion
private void Close_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void Ok_Click(object sender, RoutedEventArgs e)
{
if(DiamondCode.Text.Trim().Length>0) { this.Close(); }
}
private void ApplyCornerRadiusClip()
{
// 使用矩形几何生成圆角裁剪
this.Border.Clip = new RectangleGeometry
{
Rect = new Rect(0, 0, this.Border.ActualWidth, this.Border.ActualHeight),
RadiusX = this.Border.CornerRadius.TopLeft, // 使用 Border 的 CornerRadius
RadiusY = this.Border.CornerRadius.TopLeft
};
}
}
}

@ -1,85 +0,0 @@
<Window x:Class="SparkClient.Views.Dialog.StartDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SparkClient.Views.Dialog"
xmlns:hc="https://handyorg.github.io/handycontrol"
mc:Ignorable="d"
d:DesignHeight="222" d:DesignWidth="562"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
WindowStyle="None" AllowsTransparency="True" Background="Transparent">
<Border CornerRadius="15" Background="White" x:Name="Border" >
<Grid ClipToBounds="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<!-- 模拟顶部标题栏 -->
<Grid Grid.Row="0" Background="#795C2A" Height="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!-- 关闭按钮 -->
<Border Grid.Column="2"
Width="40" Height="30"
Margin=" 0 0 10 0"
HorizontalAlignment="Right" VerticalAlignment="Center"
Background="Transparent"
MouseEnter="Border_Close_MouseEnter"
MouseLeave="Border_MouseLeave">
<Button Background="Transparent" BorderBrush="Transparent" Click="Close_Click">
<Viewbox Stretch="Uniform">
<Path Data="{StaticResource CloseGeometry}"
Fill="Azure"
Stroke="Azure"
StrokeThickness="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="20 0 0 0"
Width="30" />
</Viewbox>
</Button>
</Border>
</Grid>
<StackPanel Grid.Row="1" VerticalAlignment="Center" >
<Grid Height="30" Margin="0 10 0 10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="5*" />
<ColumnDefinition Width="9*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Grid.Column="1" HorizontalAlignment="Center" Content="{DynamicResource UpdateDiamondCode}" Background="Transparent"
BorderBrush="Transparent"
FontSize="16" FontFamily="AlibabaPuHui-regular" />
<TextBox TextWrapping="Wrap" Name ="Id" Grid.Column="2" Text="{Binding InputText}" />
<TextBlock Text="{DynamicResource Please enter}" Grid.Column="2" Foreground="Gray" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Text, ElementName=Id}" Value="">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Column="2" Content="{DynamicResource ok}" HorizontalAlignment="Center" Command="{Binding OkCommand}" Click="Ok_Click" />
<Button Grid.Column="3" Content="{DynamicResource Skip}" HorizontalAlignment="Center" Command="{Binding SkipCommand}" Click="Close_Click" />
</Grid>
</StackPanel>
</Grid>
</Border>
</Window>

@ -1,97 +0,0 @@
using HandyControl.Controls;
using SparkClient.Model.Helper;
using SparkClient.ViewModel;
using SparkClient.ViewModel.Dialog;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
namespace SparkClient.Views.Dialog
{
/// <summary>
/// StartDialog.xaml 的交互逻辑
/// </summary>
public partial class StartDialog
{
public BaseViewModel ViewModel = null;
public StartDialog()
{
WindowStartupLocation = WindowStartupLocation.CenterScreen;
InitializeComponent();
// 动态设置圆角裁剪
this.Loaded += (s, e) => ApplyCornerRadiusClip();
this.SizeChanged += (s, e) => ApplyCornerRadiusClip(); // 保证在大小改变时也裁剪
this.Width = 562;
this.Height = 222;
this.ViewModel = new StartDialogVM();
this.DataContext = this.ViewModel;
}
#region 重写窗体操作按钮
private void Border_Minimize_MouseEnter(object sender, MouseEventArgs e)
{
// 鼠标进入时更改背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 255, 255));
}
}
private void Border_Close_MouseEnter(object sender, MouseEventArgs e)
{
// 鼠标进入时更改背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Color.FromArgb(50, 255, 0, 0));
}
}
private void Border_MouseLeave(object sender, MouseEventArgs e)
{
// 鼠标离开时恢复背景色
if (sender is Border border)
{
border.Background = new SolidColorBrush(Colors.Transparent);
}
}
private void Minimize_Click(object sender, MouseButtonEventArgs e)
{
this.WindowState = WindowState.Minimized;
}
private void UIElement_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
try
{
this.DragMove();
}
catch (InvalidOperationException ex)
{
}
}
}
#endregion
private void Close_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void Ok_Click(object sender, RoutedEventArgs e)
{
if(Id.Text.Trim().Length>0) { this.Close(); }
}
private void ApplyCornerRadiusClip()
{
// 使用矩形几何生成圆角裁剪
this.Border.Clip = new RectangleGeometry
{
Rect = new Rect(0, 0, this.Border.ActualWidth, this.Border.ActualHeight),
RadiusX = this.Border.CornerRadius.TopLeft, // 使用 Border 的 CornerRadius
RadiusY = this.Border.CornerRadius.TopLeft
};
}
}
}
Loading…
Cancel
Save