优化UI, 提取公共代码

This commit is contained in:
BookerLiu
2023-04-21 21:56:49 +08:00
parent f152aaf1f4
commit 2e1cc7ee3c
8 changed files with 87 additions and 42 deletions

View File

@@ -80,10 +80,10 @@
<!--<hc:UniformSpacingPanel Spacing="10" Visibility="Visible" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10,0,0"> <!--<hc:UniformSpacingPanel Spacing="10" Visibility="Visible" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10,0,0">
<TextBlock Text="更新源:" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/> <TextBlock Text="更新源:" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}"
Style="{StaticResource RadioButtonIcon}" Content="Gitee" Style="{StaticResource MyRadioBtnStyle}" Content="Gitee"
IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=1}"/> IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=1}"/>
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}"
Style="{StaticResource RadioButtonIcon}" Content="GitHub" Style="{StaticResource MyRadioBtnStyle}" Content="GitHub"
IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=2}"/> IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=2}"/>
</hc:UniformSpacingPanel>--> </hc:UniformSpacingPanel>-->
</StackPanel> </StackPanel>

View File

@@ -63,27 +63,35 @@
<TextBlock Text="面板关闭方式" VerticalAlignment="Center"/> <TextBlock Text="面板关闭方式" VerticalAlignment="Center"/>
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4"> <hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0"
Style="{StaticResource RadioButtonIcon}" Content="失去焦点后" Style="{StaticResource MyRadioBtnStyle}"
Content="失去焦点后"
IsChecked="{Binding AppHideType, Mode=TwoWay, Converter={StaticResource HideTypeConvert}, ConverterParameter=1}"/> IsChecked="{Binding AppHideType, Mode=TwoWay, Converter={StaticResource HideTypeConvert}, ConverterParameter=1}"/>
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}"
Style="{StaticResource RadioButtonIcon}" Content="运行项目后" <RadioButton Margin="10,0,0,0"
Style="{StaticResource MyRadioBtnStyle}" Content="运行项目后"
IsChecked="{Binding AppHideType, Mode=TwoWay, Converter={StaticResource HideTypeConvert}, ConverterParameter=2}"/> IsChecked="{Binding AppHideType, Mode=TwoWay, Converter={StaticResource HideTypeConvert}, ConverterParameter=2}"/>
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0"
Style="{StaticResource RadioButtonIcon}" Content="手动关闭" Style="{StaticResource MyRadioBtnStyle}" Content="手动关闭"
IsChecked="{Binding AppHideType, Mode=TwoWay, Converter={StaticResource HideTypeConvert}, ConverterParameter=3}"/> IsChecked="{Binding AppHideType, Mode=TwoWay, Converter={StaticResource HideTypeConvert}, ConverterParameter=3}"/>
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="0,10,0,0" Grid.ColumnSpan="4"> <hc:UniformSpacingPanel Spacing="10" Margin="0,10,0,0" Grid.ColumnSpan="4">
<TextBlock Text="搜索方式" VerticalAlignment="Center"/> <TextBlock Text="搜索方式"
VerticalAlignment="Center"
/>
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4"> <hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0"
Style="{StaticResource RadioButtonIcon}" Content="快捷键" hc:Poptip.Content="主面板显示时按下Ctrl+F开始搜索"
IsChecked="{Binding SearchType, Mode=TwoWay, Converter={StaticResource SearchTypeConvert}, ConverterParameter=0}"/> hc:Poptip.Placement="Top"
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" Style="{StaticResource MyRadioBtnStyle}" Content="快捷键"
Style="{StaticResource RadioButtonIcon}" Content="按键即搜" IsChecked="{Binding SearchType, Mode=TwoWay, Converter={StaticResource SearchTypeConvert}, ConverterParameter=0}"/>
IsChecked="{Binding SearchType, Mode=TwoWay, Converter={StaticResource SearchTypeConvert}, ConverterParameter=1}"/> <RadioButton Margin="10,0,0,0"
hc:Poptip.Content="主面板显示时按下按键直接搜索"
hc:Poptip.Placement="Top"
Style="{StaticResource MyRadioBtnStyle}" Content="按键即搜"
IsChecked="{Binding SearchType, Mode=TwoWay, Converter={StaticResource SearchTypeConvert}, ConverterParameter=1}"/>
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="0,10,0,0" Grid.ColumnSpan="4"> <hc:UniformSpacingPanel Spacing="10" Margin="0,10,0,0" Grid.ColumnSpan="4">

View File

@@ -54,37 +54,37 @@
<TextBlock Text="排序方式" Margin="0,25,0,0"/> <TextBlock Text="排序方式" Margin="0,25,0,0"/>
<hc:UniformSpacingPanel Spacing="10" Margin="20,8,0,0"> <hc:UniformSpacingPanel Spacing="10" Margin="20,8,0,0">
<RadioButton x:Name="CustomSort" Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton x:Name="CustomSort" Margin="10,0,0,0"
Style="{StaticResource RadioButtonIcon}" Content="自定义" Style="{StaticResource MyRadioBtnStyle}" Content="自定义"
Tag="1" Tag="1"
hc:IconElement.Geometry="{StaticResource CustomSort}" hc:IconElement.Geometry="{StaticResource CustomSort}"
PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown" PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown"
IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=1}"/> IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=1}"/>
<RadioButton x:Name="CountUpSort" Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton x:Name="CountUpSort" Margin="10,0,0,0"
hc:IconElement.Geometry="{StaticResource UpSort}" hc:IconElement.Geometry="{StaticResource UpSort}"
Style="{StaticResource RadioButtonIcon}" Content="使用次数" Style="{StaticResource MyRadioBtnStyle}" Content="使用次数"
Tag="2" Tag="2"
PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown" PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown"
IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=2}"/> IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=2}"/>
<RadioButton x:Name="CountLowSort" Margin="10,0,0,0" Visibility="Collapsed" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton x:Name="CountLowSort" Margin="10,0,0,0" Visibility="Collapsed"
hc:IconElement.Geometry="{StaticResource LowSort}" hc:IconElement.Geometry="{StaticResource LowSort}"
Style="{StaticResource RadioButtonIcon}" Content="使用次数" Style="{StaticResource MyRadioBtnStyle}" Content="使用次数"
Tag="3" Tag="3"
PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown" PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown"
IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=3}"/> IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=3}"/>
<RadioButton x:Name="NameUpSort" Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton x:Name="NameUpSort" Margin="10,0,0,0"
hc:IconElement.Geometry="{StaticResource UpSort}" hc:IconElement.Geometry="{StaticResource UpSort}"
Style="{StaticResource RadioButtonIcon}" Content="名称" Style="{StaticResource MyRadioBtnStyle}" Content="名称"
Tag="4" Tag="4"
PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown" PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown"
IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=4}"/> IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=4}"/>
<RadioButton x:Name="NameLowSort" Margin="10,0,0,0" Visibility="Collapsed" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton x:Name="NameLowSort" Margin="10,0,0,0" Visibility="Collapsed"
hc:IconElement.Geometry="{StaticResource LowSort}" hc:IconElement.Geometry="{StaticResource LowSort}"
Style="{StaticResource RadioButtonIcon}" Content="名称" Style="{StaticResource MyRadioBtnStyle}" Content="名称"
Tag="5" Tag="5"
PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown" PreviewMouseLeftButtonDown="SortType_PreviewMouseLeftButtonDown"
IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=5}"/> IsChecked="{Binding IconSortType, Mode=OneWay, Converter={StaticResource SortTypeConvert}, ConverterParameter=5}"/>
@@ -92,14 +92,14 @@
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<TextBlock Text="更新源" Margin="0,25,0,0"/> <TextBlock Text="更新源" Margin="0,25,0,0"/>
<hc:UniformSpacingPanel Spacing="10" Margin="20,8,0,0"> <hc:UniformSpacingPanel Spacing="10" Margin="20,8,0,0">
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0"
Style="{StaticResource RadioButtonIcon}" Content="Gitee" Style="{StaticResource MyRadioBtnStyle}" Content="Gitee"
hc:IconElement.Geometry="{StaticResource Gitee}" hc:IconElement.Geometry="{StaticResource Gitee}"
Foreground="#B32225" Foreground="#B32225"
IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=1}"/> IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=1}"/>
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0"
hc:IconElement.Geometry="{StaticResource GitHub}" hc:IconElement.Geometry="{StaticResource GitHub}"
Style="{StaticResource RadioButtonIcon}" Content="GitHub" Style="{StaticResource MyRadioBtnStyle}" Content="GitHub"
Foreground="Black" Foreground="Black"
IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=2}"/> IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=2}"/>
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>

View File

@@ -24,11 +24,11 @@
<TextBlock Text="背景风格" VerticalAlignment="Center"/> <TextBlock Text="背景风格" VerticalAlignment="Center"/>
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4"> <hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0"
Style="{StaticResource RadioButtonIcon}" Click="BGStyle_Changed" Content="图 片" Style="{StaticResource MyRadioBtnStyle}" Click="BGStyle_Changed" Content="图 片"
IsChecked="{Binding BGStyle, Mode=TwoWay, Converter={StaticResource BGStyleConvert}, ConverterParameter=1}"/> IsChecked="{Binding BGStyle, Mode=TwoWay, Converter={StaticResource BGStyleConvert}, ConverterParameter=1}"/>
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0"
Style="{StaticResource RadioButtonIcon}" Click="BGStyle_Changed" Content="纯 色" Style="{StaticResource MyRadioBtnStyle}" Click="BGStyle_Changed" Content="纯 色"
IsChecked="{Binding BGStyle, Mode=TwoWay, Converter={StaticResource BGStyleConvert}, ConverterParameter=2}"/> IsChecked="{Binding BGStyle, Mode=TwoWay, Converter={StaticResource BGStyleConvert}, ConverterParameter=2}"/>
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>

View File

@@ -60,11 +60,11 @@
<hc:UniformSpacingPanel Spacing="10" Grid.ColumnSpan="4" Margin="0,10,0,0"> <hc:UniformSpacingPanel Spacing="10" Grid.ColumnSpan="4" Margin="0,10,0,0">
<TextBlock Text="运行方式:" Style="{StaticResource LeftTB}"/> <TextBlock Text="运行方式:" Style="{StaticResource LeftTB}"/>
<RadioButton Margin="10,0,0,0" Checked="ExecType_Checked" Tag="1" Background="{DynamicResource SecondaryRegionBrush}" <RadioButton Margin="10,0,0,0" Checked="ExecType_Checked" Tag="1"
Style="{StaticResource RadioButtonIcon}" Content="指定时间" Style="{StaticResource MyRadioBtnStyle}" Content="指定时间"
IsChecked="{Binding ExecType, Mode=OneWay, Converter={StaticResource TodoTaskExecConvert}, ConverterParameter=1}"/> IsChecked="{Binding ExecType, Mode=OneWay, Converter={StaticResource TodoTaskExecConvert}, ConverterParameter=1}"/>
<RadioButton Margin="10,0,0,0" Checked="ExecType_Checked" Background="{DynamicResource SecondaryRegionBrush}" Tag="2" <RadioButton Margin="10,0,0,0" Checked="ExecType_Checked" Tag="2"
Style="{StaticResource RadioButtonIcon}" Content="CRON表达式" Style="{StaticResource MyRadioBtnStyle}" Content="CRON表达式"
IsChecked="{Binding ExecType, Mode=OneWay, Converter={StaticResource TodoTaskExecConvert}, ConverterParameter=2}"/> IsChecked="{Binding ExecType, Mode=OneWay, Converter={StaticResource TodoTaskExecConvert}, ConverterParameter=2}"/>
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>

View File

@@ -34,7 +34,6 @@
<Window.Resources> <Window.Resources>
<RoutedUICommand x:Key="SearchHotKeyDown" Text="SearchHotKeyDown"/> <RoutedUICommand x:Key="SearchHotKeyDown" Text="SearchHotKeyDown"/>
<cvt:MenuWidthConvert x:Key="MenuWidthConvert"/> <cvt:MenuWidthConvert x:Key="MenuWidthConvert"/>
<cvt:OpcityConvert x:Key="OpcityConvert"/> <cvt:OpcityConvert x:Key="OpcityConvert"/>
<cvt:IntToCornerRadius x:Key="IntToCornerRadius"/> <cvt:IntToCornerRadius x:Key="IntToCornerRadius"/>

View File

@@ -813,6 +813,10 @@ namespace GeekDesk
appData.AppConfig.WindowWidth = this.Width; appData.AppConfig.WindowWidth = this.Width;
appData.AppConfig.WindowHeight = this.Height; appData.AppConfig.WindowHeight = this.Height;
} }
if (guideRun)
{
Guide();
}
} }
@@ -1032,27 +1036,30 @@ namespace GeekDesk
return hwnd; return hwnd;
} }
#region #region
private int guideIndex = 0;
private bool guideRun = false;
private void Guide() private void Guide()
{ {
try try
{ {
guideRun = true;
//防止影响主程序进程 //防止影响主程序进程
if (CheckShouldShowApp()) if (CheckShouldShowApp())
{ {
ShowApp(); ShowApp();
} }
GrayBorder.Visibility = Visibility.Visible; GrayBorder.Visibility = Visibility.Visible;
GuideSwitch(0); GuideSwitch(guideIndex);
GuideCard.Visibility = Visibility.Visible; GuideCard.Visibility = Visibility.Visible;
} }
catch (Exception) { } catch (Exception) { guideRun = false; }
} }
private void GuideSwitch(int index) private void GuideSwitch(int index)
{ {
guideIndex = index;
GuideNum.Text = Convert.ToString(index + 1); GuideNum.Text = Convert.ToString(index + 1);
GuideTitle1.Text = GuideInfoList.mainWindowGuideList[index].Title1; GuideTitle1.Text = GuideInfoList.mainWindowGuideList[index].Title1;
GuideTitle2.Text = GuideInfoList.mainWindowGuideList[index].Title2; GuideTitle2.Text = GuideInfoList.mainWindowGuideList[index].Title2;
@@ -1131,6 +1138,8 @@ namespace GeekDesk
if ("完成".Equals(NextGuideBtn.Content.ToString())) { if ("完成".Equals(NextGuideBtn.Content.ToString())) {
GrayBorder.Visibility = Visibility.Collapsed; GrayBorder.Visibility = Visibility.Collapsed;
GuideCard.Visibility = Visibility.Collapsed; GuideCard.Visibility = Visibility.Collapsed;
guideIndex = 0;
guideRun = false;
return; return;
} }
int index = Convert.ToInt32(GuideNum.Text.ToString()) - 1; int index = Convert.ToInt32(GuideNum.Text.ToString()) - 1;

View File

@@ -72,6 +72,15 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
</Trigger> </Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0" Opacity="0.7">
<GradientStop Color="#FF9EA3A6"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers> </Style.Triggers>
</Style> </Style>
@@ -91,4 +100,24 @@
</Style> </Style>
<!--radio btn style-->
<Style x:Key="MyRadioBtnStyle" TargetType="RadioButton" BasedOn="{StaticResource RadioButtonIcon}">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="White" Opacity="0.7"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#EEEEEE" Opacity="0.7"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ResourceDictionary> </ResourceDictionary>