mirror of
https://github.com/LorisYounger/VPet.git
synced 2024-08-30 18:42:36 +00:00
Merge branch 'main' of https://github.com/LorisYounger/VPet
This commit is contained in:
commit
dfc799663c
@ -159,7 +159,7 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<Style x:Key="StndardToggleButtonStyle" BasedOn="{StaticResource {x:Type ToggleButton}}"
|
<Style x:Key="ThemedToggleButtonStyle" BasedOn="{StaticResource {x:Type ToggleButton}}"
|
||||||
TargetType="{x:Type ToggleButton}">
|
TargetType="{x:Type ToggleButton}">
|
||||||
<Setter Property="Background" Value="{DynamicResource DARKPrimary}" />
|
<Setter Property="Background" Value="{DynamicResource DARKPrimary}" />
|
||||||
<Setter Property="pu:ToggleButtonHelper.CheckedBackground" Value="{DynamicResource DARKPrimaryDarker}" />
|
<Setter Property="pu:ToggleButtonHelper.CheckedBackground" Value="{DynamicResource DARKPrimaryDarker}" />
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
<PackageReference Include="LinePutScript" Version="1.11.6" />
|
<PackageReference Include="LinePutScript" Version="1.11.6" />
|
||||||
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.7" />
|
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.7" />
|
||||||
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
||||||
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.2" />
|
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Update="Properties\Resources.Designer.cs">
|
<Compile Update="Properties\Resources.Designer.cs">
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
<Setter Property="BorderBrush" Value="{DynamicResource DARKPrimary}" />
|
<Setter Property="BorderBrush" Value="{DynamicResource DARKPrimary}" />
|
||||||
<Setter Property="Padding" Value="7,0,15,0" />
|
<Setter Property="Padding" Value="7,0,15,0" />
|
||||||
<Setter Property="pu:ComboBoxHelper.CornerRadius" Value="5" />
|
<Setter Property="pu:ComboBoxHelper.CornerRadius" Value="5" />
|
||||||
<Setter Property="pu:ComboBoxHelper.WatermarkForeground" Value="#DCDCDC" />
|
<Setter Property="pu:ComboBoxHelper.WatermarkForeground" Value="#BABABA" />
|
||||||
<Setter Property="pu:ComboBoxHelper.ItemsSelectedBackground" Value="{DynamicResource DARKPrimary}" />
|
<Setter Property="pu:ComboBoxHelper.ItemsSelectedBackground" Value="{DynamicResource DARKPrimary}" />
|
||||||
<Setter Property="pu:ComboBoxHelper.ItemsSelectedForeground" Value="{DynamicResource DARKPrimaryText}" />
|
<Setter Property="pu:ComboBoxHelper.ItemsSelectedForeground" Value="{DynamicResource DARKPrimaryText}" />
|
||||||
<Setter Property="pu:ComboBoxHelper.ItemsHoverBackground" Value="{DynamicResource DARKPrimaryTrans4}" />
|
<Setter Property="pu:ComboBoxHelper.ItemsHoverBackground" Value="{DynamicResource DARKPrimaryTrans4}" />
|
||||||
|
@ -19,6 +19,6 @@
|
|||||||
<PackageReference Include="LinePutScript" Version="1.11.6" />
|
<PackageReference Include="LinePutScript" Version="1.11.6" />
|
||||||
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.7" />
|
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.7" />
|
||||||
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
||||||
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.2" />
|
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
BIN
VPet-Simulator.Windows/Res/img/r_agency_job.png
Normal file
BIN
VPet-Simulator.Windows/Res/img/r_agency_job.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 624 KiB |
BIN
VPet-Simulator.Windows/Res/img/r_agency_training.png
Normal file
BIN
VPet-Simulator.Windows/Res/img/r_agency_training.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 528 KiB |
@ -87,6 +87,8 @@
|
|||||||
<None Remove="Res\img\rank6.png" />
|
<None Remove="Res\img\rank6.png" />
|
||||||
<None Remove="Res\img\rbgb.png" />
|
<None Remove="Res\img\rbgb.png" />
|
||||||
<None Remove="Res\img\rbgt.png" />
|
<None Remove="Res\img\rbgt.png" />
|
||||||
|
<None Remove="Res\img\r_agency_job.png" />
|
||||||
|
<None Remove="Res\img\r_agency_training.png" />
|
||||||
<None Remove="Res\img\r_autobuy_1.png" />
|
<None Remove="Res\img\r_autobuy_1.png" />
|
||||||
<None Remove="Res\img\r_autobuy_2.png" />
|
<None Remove="Res\img\r_autobuy_2.png" />
|
||||||
<None Remove="Res\img\r_autobuy_3.png" />
|
<None Remove="Res\img\r_autobuy_3.png" />
|
||||||
@ -137,6 +139,8 @@
|
|||||||
<Resource Include="Res\img\rank1.png" />
|
<Resource Include="Res\img\rank1.png" />
|
||||||
<Resource Include="Res\img\rank3.png" />
|
<Resource Include="Res\img\rank3.png" />
|
||||||
<Resource Include="Res\img\rbgb.png" />
|
<Resource Include="Res\img\rbgb.png" />
|
||||||
|
<Resource Include="Res\img\r_agency_job.png" />
|
||||||
|
<Resource Include="Res\img\r_agency_training.png" />
|
||||||
<Resource Include="Res\img\r_mostfood_Food.png" />
|
<Resource Include="Res\img\r_mostfood_Food.png" />
|
||||||
<Resource Include="Res\remixicon.ttf" />
|
<Resource Include="Res\remixicon.ttf" />
|
||||||
<Resource Include="vpeticon.ico">
|
<Resource Include="vpeticon.ico">
|
||||||
@ -227,7 +231,7 @@
|
|||||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||||
<PackageReference Include="NAudio" Version="2.2.1" />
|
<PackageReference Include="NAudio" Version="2.2.1" />
|
||||||
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
||||||
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.2" />
|
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\VPet-Simulator.Core\VPet-Simulator.Core.csproj" />
|
<ProjectReference Include="..\VPet-Simulator.Core\VPet-Simulator.Core.csproj" />
|
||||||
|
@ -988,17 +988,17 @@
|
|||||||
FontSize="20" FontWeight="Bold" Text="{ll:Str 制作组名单}" />
|
FontSize="20" FontWeight="Bold" Text="{ll:Str 制作组名单}" />
|
||||||
<TextBlock Grid.Column="1" Margin="0,130,0,0" VerticalAlignment="Top"
|
<TextBlock Grid.Column="1" Margin="0,130,0,0" VerticalAlignment="Top"
|
||||||
TextWrapping="WrapWithOverflow">
|
TextWrapping="WrapWithOverflow">
|
||||||
<Run Text="{ll:Str '杨远洛里斯'}" />
|
<Run Text="{ll:Str '杨远洛里斯'}" />,
|
||||||
,<Run Text="{ll:Str '吉娜'}" />
|
<Run Text="{ll:Str '吉娜'}" />,
|
||||||
,<Hyperlink Click="Mod_Click" Foreground="{DynamicResource PrimaryText}">
|
<Hyperlink Click="Mod_Click" Foreground="{DynamicResource PrimaryText}">
|
||||||
<Run Text="{ll:Str 广大MOD作者}" />
|
<Run Text="{ll:Str 广大MOD作者}" />
|
||||||
</Hyperlink><LineBreak />
|
</Hyperlink><LineBreak />
|
||||||
<Run Text="{ll:Str '洛里斯杨远'}" />
|
<Run Text="{ll:Str '洛里斯杨远'}" />,
|
||||||
, トニーちゃん<Hyperlink Click="Git_Click">
|
末城via <Hyperlink Click="Git_Click">
|
||||||
<Run Text="{ll:Str Git贡献名单}" />
|
<Run Text="{ll:Str Git贡献名单}" />
|
||||||
</Hyperlink><LineBreak />
|
</Hyperlink><LineBreak />
|
||||||
<Run Text="{ll:Str '叶书天'}" />
|
<Run Text="{ll:Str '叶书天'}" />,
|
||||||
,<Hyperlink Click="Mod_Click" Foreground="{DynamicResource PrimaryText}">
|
<Hyperlink Click="Mod_Click" Foreground="{DynamicResource PrimaryText}">
|
||||||
<Run Text="{ll:Str 广大MOD作者}" />
|
<Run Text="{ll:Str 广大MOD作者}" />
|
||||||
</Hyperlink>
|
</Hyperlink>
|
||||||
<LineBreak />
|
<LineBreak />
|
||||||
|
@ -7,6 +7,17 @@
|
|||||||
xmlns:local="clr-namespace:VPet_Simulator.Windows" mc:Ignorable="d" Title="{ll:Str 工作面板}" Height="375"
|
xmlns:local="clr-namespace:VPet_Simulator.Windows" mc:Ignorable="d" Title="{ll:Str 工作面板}" Height="375"
|
||||||
Style="{DynamicResource BaseWindowXStyle}" Background="{DynamicResource PrimaryLighter}" Width="650"
|
Style="{DynamicResource BaseWindowXStyle}" Background="{DynamicResource PrimaryLighter}" Width="650"
|
||||||
ResizeMode="CanMinimize" Closed="Window_Closed">
|
ResizeMode="CanMinimize" Closed="Window_Closed">
|
||||||
|
<pu:WindowX.Resources>
|
||||||
|
<Style x:Key="IconButtonStyle" TargetType="Button" BasedOn="{StaticResource {x:Static pu:StyleKeys.ButtonStyle}}">
|
||||||
|
<Setter Property="Background" Value="Transparent" />
|
||||||
|
<Setter Property="Foreground" Value="#BABABA" />
|
||||||
|
<Setter Property="FontFamily" Value="{StaticResource RemixIcon}" />
|
||||||
|
<Setter Property="pu:ButtonHelper.HoverForeground" Value="{DynamicResource DARKPrimary}" />
|
||||||
|
<Setter Property="pu:ButtonHelper.HoverBackground" Value="{x:Null}" />
|
||||||
|
<Setter Property="pu:ButtonHelper.ClickBackground" Value="{x:Null}" />
|
||||||
|
</Style>
|
||||||
|
<local:ScheduleItemTemplateSelector x:Key="ScheduleItemTemplateSelector" />
|
||||||
|
</pu:WindowX.Resources>
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
@ -43,15 +54,9 @@
|
|||||||
<RowDefinition />
|
<RowDefinition />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<TextBlock Text="{ll:Str 工作内容}"
|
<TextBlock Text="{ll:Str 工作内容}"
|
||||||
FontSize="{Binding FontSize, Converter={x:Static pu:Converters.DoubleMinusConverter}, ConverterParameter=2, Source={x:Static pu:GlobalSettings.Setting}}" />
|
FontSize="{Binding FontSize, Source={x:Static pu:GlobalSettings.Setting}}" />
|
||||||
<Grid Grid.Row="1" Margin="0,3,0,0">
|
<ComboBox x:Name="detailTypes" Grid.Row="1" Margin="0,3,0,0" Style="{DynamicResource StandardComboBoxStyle}"
|
||||||
<Grid.ColumnDefinitions>
|
SelectionChanged="detailTypes_SelectionChanged" />
|
||||||
<ColumnDefinition />
|
|
||||||
<ColumnDefinition Width="Auto" />
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<ComboBox x:Name="detailTypes" Style="{DynamicResource StandardComboBoxStyle}"
|
|
||||||
SelectionChanged="detailTypes_SelectionChanged" />
|
|
||||||
</Grid>
|
|
||||||
<Image x:Name="WorkViewImage" RenderOptions.BitmapScalingMode="HighQuality" Grid.Row="2"
|
<Image x:Name="WorkViewImage" RenderOptions.BitmapScalingMode="HighQuality" Grid.Row="2"
|
||||||
Margin="-20,0" Stretch="Uniform" Source="/Res/img/r_singlemoney_1.png" />
|
Margin="-20,0" Stretch="Uniform" Source="/Res/img/r_singlemoney_1.png" />
|
||||||
<Border Grid.Row="2" VerticalAlignment="Bottom" Background="{DynamicResource SecondaryTrans}"
|
<Border Grid.Row="2" VerticalAlignment="Bottom" Background="{DynamicResource SecondaryTrans}"
|
||||||
@ -135,6 +140,227 @@
|
|||||||
Click="btnStart_Click" FontSize="16" FontWeight="Bold" />
|
Click="btnStart_Click" FontSize="16" FontWeight="Bold" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
<Grid x:Name="gdSchedule">
|
||||||
|
<TabControl pu:TabControlHelper.ItemsCornerRadius="4" pu:TabControlHelper.ItemsHeight="NaN"
|
||||||
|
pu:TabControlHelper.ItemsHoverBackground="{DynamicResource PrimaryLight}"
|
||||||
|
pu:TabControlHelper.ItemsPadding="10,7"
|
||||||
|
pu:TabControlHelper.ItemsSelectedBackground="{DynamicResource PrimaryDark}"
|
||||||
|
pu:TabControlHelper.ItemsSelectedForeground="{DynamicResource DARKPrimaryText}" Background="Transparent"
|
||||||
|
BorderThickness="0" Foreground="{DynamicResource PrimaryText}" SelectedIndex="0">
|
||||||
|
<TabItem Header="机构签署">
|
||||||
|
<Grid Margin="7">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition />
|
||||||
|
<ColumnDefinition Width="15" />
|
||||||
|
<ColumnDefinition />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<UniformGrid Columns="2">
|
||||||
|
<UniformGrid.Resources>
|
||||||
|
<Style TargetType="ToggleButton" BasedOn="{StaticResource {x:Static pu:StyleKeys.ToggleButtonStyle}}">
|
||||||
|
<Setter Property="Padding" Value="0,3" />
|
||||||
|
<Setter Property="Background" Value="Transparent" />
|
||||||
|
<Setter Property="Foreground" Value="{DynamicResource PrimaryText}" />
|
||||||
|
<Setter Property="BorderBrush" Value="{DynamicResource DARKPrimary}" />
|
||||||
|
<Setter Property="BorderThickness" Value="1.5" />
|
||||||
|
<Setter Property="pu:ToggleButtonHelper.CheckedBackground" Value="{DynamicResource DARKPrimary}" />
|
||||||
|
<Setter Property="pu:ToggleButtonHelper.CheckedForeground" Value="{DynamicResource DARKPrimaryText}" />
|
||||||
|
</Style>
|
||||||
|
</UniformGrid.Resources>
|
||||||
|
<ToggleButton x:Name="tbtnAgencyJob" pu:ToggleButtonHelper.CornerRadius="4,0,0,4" Content="工作中介" IsChecked="True"
|
||||||
|
Checked="tbtn_Agency_CheckChanged" PreviewMouseLeftButtonDown="tbtnAgency_PreviewMouseLeftButtonDown"/>
|
||||||
|
<ToggleButton x:Name="tbtnAgencyTraning" pu:ToggleButtonHelper.CornerRadius="0,4,4,0" Content="培训机构"
|
||||||
|
Checked="tbtn_Agency_CheckChanged" PreviewMouseLeftButtonDown="tbtnAgency_PreviewMouseLeftButtonDown"/>
|
||||||
|
</UniformGrid>
|
||||||
|
<Image x:Name="imgAgency" RenderOptions.BitmapScalingMode="HighQuality" Grid.Row="2"
|
||||||
|
Margin="-20,0" Stretch="Uniform" Source="/Res/img/r_agency_job.png" />
|
||||||
|
</Grid>
|
||||||
|
<Border Grid.Column="2" Background="White" CornerRadius="4" />
|
||||||
|
<Grid Grid.Column="2" Margin="15">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<ComboBox Margin="0,3,0,0" Style="{DynamicResource StandardComboBoxStyle}"
|
||||||
|
pu:ComboBoxHelper.Watermark="--请选择套餐--" SelectionChanged="detailTypes_SelectionChanged" />
|
||||||
|
<TextBlock Grid.Row="1" Margin="0,7,0,0" VerticalAlignment="Bottom" Text="{ll:Str 选择等级}"/>
|
||||||
|
<TextBlock Grid.Row="1" Margin="0,7,0,0" FontSize="16" HorizontalAlignment="Right" Foreground="{DynamicResource DARKPrimary}" >
|
||||||
|
<Run Text="Lv."/>
|
||||||
|
<Run Text="50"/>
|
||||||
|
</TextBlock>
|
||||||
|
<Slider Grid.Row="2" pu:SliderHelper.ThumbWidth="10"
|
||||||
|
pu:SliderHelper.ThumbCornerRadius="2" pu:SliderHelper.ThumbHeight="16"
|
||||||
|
pu:SliderHelper.ThumbBorderThickness="2" SmallChange="1" Value="1" Minimum="1"
|
||||||
|
TickFrequency="1" IsSnapToTickEnabled="True" ValueChanged="wDouble_ValueChanged"
|
||||||
|
LargeChange="1" Style="{DynamicResource StandardSliderStyle}" TickPlacement="Both"></Slider>
|
||||||
|
<TextBlock Grid.Row="3" Margin="0,7,0,0">
|
||||||
|
<Run>抽成</Run>
|
||||||
|
<Run Foreground="{DynamicResource DARKPrimary}" Text="40%" />
|
||||||
|
<Run>学费</Run>
|
||||||
|
<Run Foreground="{DynamicResource DARKPrimary}" Text="20%" />
|
||||||
|
</TextBlock>
|
||||||
|
<Grid Grid.Row="4" Margin="0,3,0,0">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition />
|
||||||
|
<RowDefinition />
|
||||||
|
<RowDefinition />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="15" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock>办理费用</TextBlock>
|
||||||
|
<TextBlock Grid.Column="2" HorizontalAlignment="Right" Foreground="{DynamicResource DARKPrimary}" Text="50000" />
|
||||||
|
<TextBlock Grid.Row="1">等级需求</TextBlock>
|
||||||
|
<TextBlock Grid.Row="1" Grid.Column="2" HorizontalAlignment="Right" Foreground="{DynamicResource DARKPrimary}" Text="100" />
|
||||||
|
<TextBlock Grid.Row="2">合同持续时间</TextBlock>
|
||||||
|
<TextBlock Grid.Row="2" Grid.Column="2" HorizontalAlignment="Right" Foreground="{DynamicResource DARKPrimary}" Text="1周" />
|
||||||
|
</Grid>
|
||||||
|
<Button x:Name="btnSignAgency" Grid.Row="6" Height="30" Content="{ll:Str 签署}"
|
||||||
|
Style="{DynamicResource ThemedButtonStyle}" Background="{DynamicResource PrimaryDarker}"
|
||||||
|
Click="btnSignAgency_Click" FontSize="16" FontWeight="Bold" />
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem Header="日程表">
|
||||||
|
<Grid Margin="3">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition />
|
||||||
|
<ColumnDefinition Width="140"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid Margin="0,0,15,0">
|
||||||
|
<Border Background="White"
|
||||||
|
CornerRadius="4" />
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Margin="7,7,0,0" Text="日程安排" />
|
||||||
|
<ScrollViewer Grid.Row="1">
|
||||||
|
<StackPanel Margin="20,7,7,7">
|
||||||
|
<ItemsControl x:Name="icSchedule"
|
||||||
|
ItemTemplateSelector="{StaticResource ScheduleItemTemplateSelector}">
|
||||||
|
<ItemsControl.Resources>
|
||||||
|
<DataTemplate x:Key="WorkScheduleTemplate">
|
||||||
|
<StackPanel>
|
||||||
|
<Button Margin="-20,-5,0,-5" HorizontalAlignment="Left" Visibility="{Binding IsPreviousIsRest, Converter={x:Static pu:Converters.TrueToCollapseConverter}}"
|
||||||
|
Style="{DynamicResource IconButtonStyle}" ToolTip="{ll:Str 添加休息}" Click="btn_addRest_Click"></Button>
|
||||||
|
<Border Height="90" CornerRadius="5" Background="{DynamicResource DARKPrimaryTrans4}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="120" />
|
||||||
|
<ColumnDefinition />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<StackPanel Margin="-15,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center">
|
||||||
|
<Button Margin="0,0,0,0" Padding="0"
|
||||||
|
Style="{DynamicResource IconButtonStyle}" ToolTip="{ll:Str 上移}" Click="btn_scheduleUp_Click"></Button>
|
||||||
|
<Button Margin="0,0,0,0" Padding="0"
|
||||||
|
Style="{DynamicResource IconButtonStyle}" ToolTip="{ll:Str 下移}" Click="btn_scheduleDown_Click"></Button>
|
||||||
|
</StackPanel>
|
||||||
|
<Image Stretch="Uniform" Source="/Res/img/r_autobuy_3.png" />
|
||||||
|
<StackPanel Grid.Column="1" VerticalAlignment="Center">
|
||||||
|
<TextBlock>工作内容</TextBlock>
|
||||||
|
<TextBlock FontSize="16" Foreground="{DynamicResource DARKPrimary}" Text="{Binding WorkName}"/>
|
||||||
|
<TextBlock>持续时间</TextBlock>
|
||||||
|
<TextBlock FontSize="16" Foreground="{DynamicResource DARKPrimary}">
|
||||||
|
<Run Text="{Binding WorkTime}"/>
|
||||||
|
<Run>分钟</Run>
|
||||||
|
</TextBlock>
|
||||||
|
</StackPanel>
|
||||||
|
<Button Grid.Column="2" HorizontalAlignment="Right"
|
||||||
|
Background="Transparent" Foreground="{DynamicResource DangerBrush}" FontFamily="{StaticResource RemixIcon}" Click="btn_removeSchedule_Click"></Button>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
<DataTemplate x:Key="RestScheduleTemplate">
|
||||||
|
<Border Margin="0,7,0,7" Height="30" CornerRadius="5" Padding="0,3" Background="#F1F2F3">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition />
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<StackPanel Orientation="Horizontal"
|
||||||
|
Margin="7,0">
|
||||||
|
<TextBlock VerticalAlignment="Center">休息</TextBlock>
|
||||||
|
<pu:NumberInput Minimum="0" Interval="1" IsSnapToIntervalEnabled="True"
|
||||||
|
Background="Transparent" BorderThickness="0" Foreground="{DynamicResource DARKPrimary}"
|
||||||
|
FontSize="16" Padding="0" Value="{Binding RestTime, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" ValueChanged="NumberInput_ValueChanged">
|
||||||
|
<pu:NumberInput.UpDownButtonStyle>
|
||||||
|
<Style TargetType="RepeatButton" BasedOn="{StaticResource {x:Static pu:NumberInput.UpDownButtonStyleKey}}">
|
||||||
|
<Setter Property="FontSize" Value="10" />
|
||||||
|
</Style>
|
||||||
|
</pu:NumberInput.UpDownButtonStyle>
|
||||||
|
</pu:NumberInput>
|
||||||
|
<TextBlock VerticalAlignment="Center" Foreground="{DynamicResource DARKPrimary}"
|
||||||
|
FontSize="16">分钟</TextBlock>
|
||||||
|
</StackPanel>
|
||||||
|
<Button Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Center"
|
||||||
|
Background="Transparent" Foreground="{DynamicResource DangerBrush}"
|
||||||
|
FontFamily="{StaticResource RemixIcon}" Content="" Click="btn_removeSchedule_Click"/>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.Resources>
|
||||||
|
</ItemsControl>
|
||||||
|
<Button Margin="-20,-5,0,-5" HorizontalAlignment="Left"
|
||||||
|
Style="{DynamicResource IconButtonStyle}" Content="" ToolTip="{ll:Str 添加休息}" Click="btn_addRest_Click"/>
|
||||||
|
</StackPanel>
|
||||||
|
</ScrollViewer>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
<Grid Grid.Column="1"
|
||||||
|
Margin="0,7,7,7">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Text="合计"/>
|
||||||
|
<Grid Grid.Row="1" Margin="0,7,0,0">
|
||||||
|
<pu:RingProgressBar x:Name="rpgbSchedule" Height="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
|
||||||
|
IsPercentVisible="False" FontSize="20"
|
||||||
|
Foreground="{DynamicResource DARKPrimary}" BorderBrush="{DynamicResource DARKPrimaryTrans4}" BorderThickness="2"
|
||||||
|
Minimum="0" Maximum="100" Value="0" />
|
||||||
|
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Opacity="0.5">工作时间</TextBlock>
|
||||||
|
<TextBlock Foreground="{DynamicResource DARKPrimary}" HorizontalAlignment="Right">
|
||||||
|
<Run x:Name="runScheduleWork" FontSize="22">0</Run>
|
||||||
|
<Run>分钟</Run>
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock Opacity="0.5">休息时间</TextBlock>
|
||||||
|
<TextBlock Foreground="{DynamicResource DARKPrimary}" HorizontalAlignment="Right">
|
||||||
|
<Run x:Name="runScheduleRest" FontSize="22">0</Run>
|
||||||
|
<Run>分钟</Run>
|
||||||
|
</TextBlock>
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
<ToggleButton x:Name="btnStartSchedule" Grid.Row="3"
|
||||||
|
Style="{DynamicResource ThemedToggleButtonStyle}" Height="30" Content="{ll:Str 开始日程}"
|
||||||
|
Background="{DynamicResource PrimaryDarker}" FontSize="16" FontWeight="Bold"
|
||||||
|
Click="btnStartSchedule_Click" />
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</TabItem>
|
||||||
|
</TabControl>
|
||||||
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
using LinePutScript.Localization.WPF;
|
using LinePutScript.Localization.WPF;
|
||||||
|
using Panuon.WPF;
|
||||||
using Panuon.WPF.UI;
|
using Panuon.WPF.UI;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Linq;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Controls.Primitives;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
using System.Windows.Threading;
|
using System.Windows.Threading;
|
||||||
using VPet_Simulator.Windows.Interface;
|
using VPet_Simulator.Windows.Interface;
|
||||||
using static VPet_Simulator.Core.GraphHelper;
|
using static VPet_Simulator.Core.GraphHelper;
|
||||||
@ -24,13 +29,16 @@ public partial class winWorkMenu : WindowX
|
|||||||
private readonly ObservableCollection<string> _studyDetails = new ObservableCollection<string>();
|
private readonly ObservableCollection<string> _studyDetails = new ObservableCollection<string>();
|
||||||
private readonly ObservableCollection<string> _playDetails = new ObservableCollection<string>();
|
private readonly ObservableCollection<string> _playDetails = new ObservableCollection<string>();
|
||||||
private readonly ObservableCollection<string> _starDetails = new ObservableCollection<string>();
|
private readonly ObservableCollection<string> _starDetails = new ObservableCollection<string>();
|
||||||
|
private readonly ObservableCollection<ScheduleItemBase> _schedules = new ObservableCollection<ScheduleItemBase>();
|
||||||
public void ShowImageDefault(Work.WorkType type)
|
public void ShowImageDefault(Work.WorkType type)
|
||||||
{
|
{
|
||||||
Dispatcher.BeginInvoke(() =>
|
Dispatcher.BeginInvoke(() =>
|
||||||
{
|
{
|
||||||
WorkViewImage.Source = mw.ImageSources.FindImage("work_" + mw.Set.PetGraph + "_t_" + type.ToString(), "work_" + type.ToString());
|
WorkViewImage.Source = mw.ImageSources.FindImage("work_" + mw.Set.PetGraph + "_t_" + type.ToString(), "work_" + type.ToString());
|
||||||
}, DispatcherPriority.Loaded);
|
}, DispatcherPriority.Loaded);
|
||||||
|
|
||||||
|
_schedules.CollectionChanged += Schedules_CollectionChanged;
|
||||||
|
icSchedule.ItemsSource = _schedules;
|
||||||
}
|
}
|
||||||
|
|
||||||
public winWorkMenu(MainWindow mw, Work.WorkType type)
|
public winWorkMenu(MainWindow mw, Work.WorkType type)
|
||||||
@ -66,6 +74,18 @@ public partial class winWorkMenu : WindowX
|
|||||||
LsbCategory.SelectedIndex = (int)type;
|
LsbCategory.SelectedIndex = (int)type;
|
||||||
ShowImageDefault(type);
|
ShowImageDefault(type);
|
||||||
AllowChange = true;
|
AllowChange = true;
|
||||||
|
|
||||||
|
_schedules.Add(new WorkScheduleItem(
|
||||||
|
mw.ImageSources.FindImage("work_" + mw.Set.PetGraph + "_t_" + type.ToString(), "work_" + type.ToString()),
|
||||||
|
"学习",
|
||||||
|
60
|
||||||
|
));
|
||||||
|
_schedules.Add(new RestScheduleItem(10));
|
||||||
|
_schedules.Add(new WorkScheduleItem(
|
||||||
|
mw.ImageSources.FindImage("work_" + mw.Set.PetGraph + "_t_" + type.ToString(), "work_" + type.ToString()),
|
||||||
|
"学习",
|
||||||
|
70
|
||||||
|
));
|
||||||
}
|
}
|
||||||
public bool IsWorkStar(Work work) => mw.Set["work_star"].GetBool(work.Name);
|
public bool IsWorkStar(Work work) => mw.Set["work_star"].GetBool(work.Name);
|
||||||
public void SetWorkStar(Work work, bool setvalue) => mw.Set["work_star"].SetBool(work.Name, setvalue);
|
public void SetWorkStar(Work work, bool setvalue) => mw.Set["work_star"].SetBool(work.Name, setvalue);
|
||||||
@ -147,6 +167,8 @@ public partial class winWorkMenu : WindowX
|
|||||||
var lastIndex = detailTypes.SelectedIndex;
|
var lastIndex = detailTypes.SelectedIndex;
|
||||||
if (LsbCategory.SelectedIndex < 3)
|
if (LsbCategory.SelectedIndex < 3)
|
||||||
ShowImageDefault((Work.WorkType)LsbCategory.SelectedIndex);
|
ShowImageDefault((Work.WorkType)LsbCategory.SelectedIndex);
|
||||||
|
gdWork.Visibility = Visibility.Visible;
|
||||||
|
gdSchedule.Visibility = Visibility.Collapsed;
|
||||||
switch (LsbCategory.SelectedIndex)
|
switch (LsbCategory.SelectedIndex)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@ -167,9 +189,9 @@ public partial class winWorkMenu : WindowX
|
|||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
gdWork.Visibility = Visibility.Collapsed;
|
gdWork.Visibility = Visibility.Collapsed;
|
||||||
|
gdSchedule.Visibility = Visibility.Visible;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
gdWork.Visibility = Visibility.Visible;
|
|
||||||
detailTypes.IsDropDownOpen = true;
|
detailTypes.IsDropDownOpen = true;
|
||||||
detailTypes_SelectionChanged(null, null);
|
detailTypes_SelectionChanged(null, null);
|
||||||
}, DispatcherPriority.Loaded);
|
}, DispatcherPriority.Loaded);
|
||||||
@ -228,6 +250,11 @@ public partial class winWorkMenu : WindowX
|
|||||||
mw.winWorkMenu = null;
|
mw.winWorkMenu = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Schedules_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||||
|
{
|
||||||
|
CalculateSceduleTime();
|
||||||
|
}
|
||||||
|
|
||||||
private void btnStart_Click(object sender, RoutedEventArgs e)
|
private void btnStart_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (nowworkdisplay != null)
|
if (nowworkdisplay != null)
|
||||||
@ -262,4 +289,221 @@ public partial class winWorkMenu : WindowX
|
|||||||
}
|
}
|
||||||
AllowChange = true;
|
AllowChange = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void btnStartSchedule_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void NumberInput_ValueChanged(object sender, SelectedValueChangedRoutedEventArgs<double?> e)
|
||||||
|
{
|
||||||
|
CalculateSceduleTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CalculateSceduleTime()
|
||||||
|
{
|
||||||
|
int workTime = 0;
|
||||||
|
int restTime = 0;
|
||||||
|
for (int i = 0; i < _schedules.Count; i++)
|
||||||
|
{
|
||||||
|
var item = _schedules[i];
|
||||||
|
var lastItem = i == 0 ? null : _schedules[i - 1];
|
||||||
|
if (item is WorkScheduleItem workItem)
|
||||||
|
{
|
||||||
|
workItem.IsPreviousIsRest = lastItem is RestScheduleItem;
|
||||||
|
workTime += workItem.WorkTime;
|
||||||
|
}
|
||||||
|
else if (item is RestScheduleItem restItem)
|
||||||
|
{
|
||||||
|
restTime += restItem.RestTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rpgbSchedule.Maximum = workTime + restTime;
|
||||||
|
rpgbSchedule.Value = workTime;
|
||||||
|
|
||||||
|
runScheduleWork.Text = workTime.ToString();
|
||||||
|
runScheduleRest.Text = restTime.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tbtn_Agency_CheckChanged(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (imgAgency == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sender == tbtnAgencyJob)
|
||||||
|
{
|
||||||
|
imgAgency.Source = new BitmapImage(new Uri($"pack://application:,,,/Res/img/r_agency_job.png"));
|
||||||
|
tbtnAgencyTraning.IsChecked = false;
|
||||||
|
}
|
||||||
|
else if (sender == tbtnAgencyTraning)
|
||||||
|
{
|
||||||
|
imgAgency.Source = new BitmapImage(new Uri($"pack://application:,,,/Res/img/r_agency_training.png"));
|
||||||
|
tbtnAgencyJob.IsChecked = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tbtnAgency_PreviewMouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
|
||||||
|
{
|
||||||
|
var toggleButton = sender as ToggleButton;
|
||||||
|
if (toggleButton.IsChecked == true)
|
||||||
|
{
|
||||||
|
e.Handled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnSignAgency_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_addRest_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
var button = sender as Button;
|
||||||
|
var scheduleItem = button.DataContext as ScheduleItemBase;
|
||||||
|
if (scheduleItem == null)
|
||||||
|
{
|
||||||
|
if(_schedules.LastOrDefault() is RestScheduleItem lastRest)
|
||||||
|
{
|
||||||
|
lastRest.RestTime += 30;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_schedules.Add(new RestScheduleItem(30));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var index = _schedules.IndexOf(scheduleItem);
|
||||||
|
_schedules.Insert(index, new RestScheduleItem(30));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_removeSchedule_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
var button = sender as Button;
|
||||||
|
var scheduleItem = button.DataContext as ScheduleItemBase;
|
||||||
|
var index = _schedules.IndexOf(scheduleItem);
|
||||||
|
var previousItem = index == 0 ? null : _schedules[index - 1];
|
||||||
|
var nextItem = index == _schedules.Count - 1 ? null : _schedules[index + 1];
|
||||||
|
|
||||||
|
if (previousItem is RestScheduleItem previousRest
|
||||||
|
&& nextItem is RestScheduleItem nextRest)
|
||||||
|
{
|
||||||
|
previousRest.RestTime += nextRest.RestTime;
|
||||||
|
_schedules.Remove(nextRest);
|
||||||
|
}
|
||||||
|
_schedules.Remove(scheduleItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_scheduleUp_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
var button = sender as Button;
|
||||||
|
var scheduleItem = button.DataContext as ScheduleItemBase;
|
||||||
|
var index = _schedules.IndexOf(scheduleItem);
|
||||||
|
if(index == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var previousItem = index == 0 ? null : _schedules[index - 1];
|
||||||
|
var nextItem = index == _schedules.Count - 1 ? null : _schedules[index + 1];
|
||||||
|
|
||||||
|
if (previousItem is RestScheduleItem previousRest
|
||||||
|
&& nextItem is RestScheduleItem nextRest)
|
||||||
|
{
|
||||||
|
previousRest.RestTime += nextRest.RestTime;
|
||||||
|
_schedules.Remove(nextRest);
|
||||||
|
}
|
||||||
|
_schedules.Remove(scheduleItem);
|
||||||
|
_schedules.Insert(Math.Max(index - 1, 0), scheduleItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_scheduleDown_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
var button = sender as Button;
|
||||||
|
var scheduleItem = button.DataContext as ScheduleItemBase;
|
||||||
|
var index = _schedules.IndexOf(scheduleItem);
|
||||||
|
if (index == _schedules.Count - 1)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var previousItem = index == 0 ? null : _schedules[index - 1];
|
||||||
|
var nextItem = index == _schedules.Count - 1 ? null : _schedules[index + 1];
|
||||||
|
|
||||||
|
if (previousItem is RestScheduleItem previousRest
|
||||||
|
&& nextItem is RestScheduleItem nextRest)
|
||||||
|
{
|
||||||
|
previousRest.RestTime += nextRest.RestTime;
|
||||||
|
_schedules.Remove(nextRest);
|
||||||
|
}
|
||||||
|
_schedules.Remove(scheduleItem);
|
||||||
|
_schedules.Insert(Math.Min(index + 1, _schedules.Count), scheduleItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public abstract class ScheduleItemBase
|
||||||
|
: NotifyPropertyChangedBase
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public class WorkScheduleItem
|
||||||
|
: ScheduleItemBase
|
||||||
|
{
|
||||||
|
public WorkScheduleItem()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public WorkScheduleItem(ImageSource image,
|
||||||
|
string workName,
|
||||||
|
int workTime)
|
||||||
|
{
|
||||||
|
Image = image;
|
||||||
|
WorkName = workName;
|
||||||
|
WorkTime = workTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ImageSource Image { get; set; }
|
||||||
|
|
||||||
|
public string WorkName { get; set; }
|
||||||
|
|
||||||
|
public int WorkTime { get; set; }
|
||||||
|
|
||||||
|
public bool IsPreviousIsRest { get => _isPreviousIsRest; set => Set(ref _isPreviousIsRest, value); }
|
||||||
|
private bool _isPreviousIsRest;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class RestScheduleItem
|
||||||
|
: ScheduleItemBase
|
||||||
|
{
|
||||||
|
public RestScheduleItem()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public RestScheduleItem(int restTime)
|
||||||
|
{
|
||||||
|
RestTime = restTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int RestTime { get => _restTime; set => Set(ref _restTime, value); }
|
||||||
|
private int _restTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal class ScheduleItemTemplateSelector
|
||||||
|
: DataTemplateSelector
|
||||||
|
{
|
||||||
|
public override DataTemplate SelectTemplate(object item, DependencyObject container)
|
||||||
|
{
|
||||||
|
var element = container as FrameworkElement;
|
||||||
|
|
||||||
|
if(item is WorkScheduleItem workItem)
|
||||||
|
{
|
||||||
|
return element.FindResource("WorkScheduleTemplate") as DataTemplate;
|
||||||
|
}
|
||||||
|
else if(item is RestScheduleItem restItem)
|
||||||
|
{
|
||||||
|
return element.FindResource("RestScheduleTemplate") as DataTemplate;
|
||||||
|
}
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
@ -23,7 +23,7 @@
|
|||||||
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.7" />
|
<PackageReference Include="LinePutScript.Localization.WPF" Version="1.0.7" />
|
||||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||||
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
<PackageReference Include="Panuon.WPF" Version="1.1.0" />
|
||||||
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.2" />
|
<PackageReference Include="Panuon.WPF.UI" Version="1.2.1.3" />
|
||||||
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
|
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Loading…
Reference in New Issue
Block a user