VPet.Solution 结构初始化

This commit is contained in:
Hakoyu 2023-12-20 20:51:58 +08:00
parent 92bb88ec14
commit ffedc406a2
20 changed files with 1986 additions and 1761 deletions

View File

@ -71,6 +71,38 @@
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</ApplicationDefinition> </ApplicationDefinition>
<Compile Include="ViewModels\CustomizedSettingsPageVM.cs" />
<Compile Include="ViewModels\DiagnosticSettingsPageVM.cs" />
<Compile Include="ViewModels\ModSettingsPageVM.cs" />
<Compile Include="ViewModels\SystemSettingsPageVM.cs" />
<Compile Include="Views\CustomizedSettingsPage.xaml.cs">
<DependentUpon>CustomizedSettingsPage.xaml</DependentUpon>
</Compile>
<Compile Include="Views\DiagnosticSettingsPage.xaml.cs">
<DependentUpon>DiagnosticSettingsPage.xaml</DependentUpon>
</Compile>
<Compile Include="Views\ModSettingsPage.xaml.cs">
<DependentUpon>ModSettingsPage.xaml</DependentUpon>
</Compile>
<Compile Include="Views\SystemSettingsPage.xaml.cs">
<DependentUpon>SystemSettingsPage.xaml</DependentUpon>
</Compile>
<Page Include="Views\CustomizedSettingsPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\DiagnosticSettingsPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\GraphicsSettingsPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\InteractiveSettingsPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\MainWindow.xaml"> <Page Include="Views\MainWindow.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@ -79,7 +111,15 @@
<DependentUpon>App.xaml</DependentUpon> <DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="ViewModels\GraphicsSettingsPageVM.cs" />
<Compile Include="ViewModels\InteractiveSettingsPageVM.cs" />
<Compile Include="ViewModels\MainWindowVM.cs" /> <Compile Include="ViewModels\MainWindowVM.cs" />
<Compile Include="Views\GraphicsSettingsPage.xaml.cs">
<DependentUpon>GraphicsSettingsPage.xaml</DependentUpon>
</Compile>
<Compile Include="Views\InteractiveSettingsPage.xaml.cs">
<DependentUpon>InteractiveSettingsPage.xaml</DependentUpon>
</Compile>
<Compile Include="Views\MainWindow.xaml.cs"> <Compile Include="Views\MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon> <DependentUpon>MainWindow.xaml</DependentUpon>
</Compile> </Compile>
@ -124,6 +164,14 @@
<Compile Include="NativeStyles.xaml.cs"> <Compile Include="NativeStyles.xaml.cs">
<DependentUpon>NativeStyles.xaml</DependentUpon> <DependentUpon>NativeStyles.xaml</DependentUpon>
</Compile> </Compile>
<Page Include="Views\ModSettingsPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\SystemSettingsPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs"> <Compile Include="Properties\AssemblyInfo.cs">

View File

@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VPet.Solution.ViewModels;
public class CustomizedSettingsPageVM { }

View File

@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VPet.Solution.ViewModels;
public class DiagnosticSettingsPageVM { }

View File

@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VPet.Solution.ViewModels;
public class GraphicsSettingsPageVM { }

View File

@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VPet.Solution.ViewModels;
public class InteractiveSettingsPageVM { }

View File

@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VPet.Solution.ViewModels;
public class ModSettingsPageVM { }

View File

@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VPet.Solution.ViewModels;
public class SystemSettingsPageVM { }

View File

@ -0,0 +1,57 @@
<Page
x:Class="VPet.Solution.Views.CustomizedSettingsPage"
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:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:local="clr-namespace:VPet.Solution.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Solution.ViewModels"
Title="CustomizedSettingsPage"
d:DataContext="{d:DesignInstance Type=vm:CustomizedSettingsPageVM}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Grid>
<StackPanel>
<TextBlock Background="{x:Null}" TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 自定义链接}" /><LineBreak />
<Run Text="{ll:Str '在自定栏添加快捷方式/网页/快捷键, 可以便携启动想要的功能'}" /><LineBreak />
<Run Text="{ll:Str '键盘快捷键编写方法请参考'}" /> <Hyperlink d:Click="sendkey_click">
<Run Text="{ll:Str '键盘快捷键 通用注解'}" />
</Hyperlink><LineBreak />
<Run Text="{ll:Str '右键进行排序/删除等操作'}" />
</TextBlock>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button
x:Name="btn_DIY"
Margin="4"
Padding="1"
d:Click="DIY_ADD_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 添加新链接}" />
<Button
Grid.Column="1"
Margin="4"
Padding="1"
d:Click="DIY_Save_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 保存设置}" />
</Grid>
<ScrollViewer>
<StackPanel x:Name="StackDIY" />
</ScrollViewer>
</StackPanel>
</Grid>
</Page>

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace VPet.Solution.Views;
/// <summary>
/// CustomizedSettingsPage.xaml 的交互逻辑
/// </summary>
public partial class CustomizedSettingsPage : Page
{
public CustomizedSettingsPage()
{
InitializeComponent();
}
}

View File

@ -0,0 +1,119 @@
<Page
x:Class="VPet.Solution.Views.DiagnosticSettingsPage"
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:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:local="clr-namespace:VPet.Solution.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Solution.ViewModels"
Title="DiagnosticSettingsPage"
d:DataContext="{d:DesignInstance Type=vm:DiagnosticSettingsPageVM}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Grid>
<ScrollViewer>
<StackPanel>
<TextBlock
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 自动超模MOD优化}" /><LineBreak />
<Run Text="{ll:Str '对于超模内容,游戏会自动计算合理价格\&#13;如果未使用任何超模数据,数据菜单栏将会显示图标方便您进行炫耀数据'}" />
</TextBlock>
<pu:Switch
x:Name="swAutoCal"
Grid.Column="2"
Margin="20,0,0,0"
HorizontalAlignment="Left"
d:Checked="swAutoCal_Checked"
d:Unchecked="swAutoCal_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str '自动计算合理价格'}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '该选项重启后生效'}" />
<TextBlock
Margin="0,20,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
FontSize="13"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 诊断与反馈}" /> <LineBreak />
<Run Text="{ll:Str '选择要发送给 LBGame 的诊断数据,诊断数据用于保护和及时更新 虚拟桌宠模拟器, 解决问题并改进产品.'}" /><LineBreak />
<Run Text="{ll:Str '无论选择哪个选项,游戏都可以安全正常地运行.'}" /> <Hyperlink d:Click="hyper_moreInfo">
<Run Text="{ll:Str 获取有关这些设置的更多信息}" />
</Hyperlink>
<LineBreak /> <Run FontWeight="Bold" Text="{ll:Str '当前存档Hash验证信息'}" />
:<Run
x:Name="RHashCheck"
FontWeight="Bold"
Text="通过" />
</TextBlock>
<RadioButton
x:Name="RBDiagnosisYES"
Margin="10,10,10,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:Checked="RBDiagnosisYES_Checked"
Content="{ll:Str '发送诊断数据: 发送游戏存档, 包括饱腹,状态等各种游戏内\&#13;数据. 可能会包括该游戏内存和CPU使用情况'}"
GroupName="diagnosis"
Style="{DynamicResource StandardRadioButtonStyle}" />
<RadioButton
x:Name="RBDiagnosisNO"
Margin="10,10,10,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:Checked="RBDiagnosisNO_Checked"
Content="{ll:Str '不发送诊断数据: 适用于启用修改器,修改过游戏数据等不\&#13;符合分析数据条件. 或不希望提供游戏数据的玩家'}"
GroupName="diagnosis"
IsChecked="True"
Style="{DynamicResource StandardRadioButtonStyle}" />
<TextBlock
Margin="0,15,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run FontWeight="Bold" Text="{ll:Str 反馈频率}" /><LineBreak />
<Run Text="{ll:Str 'VOS 应寻求我反馈按以下频率'}" />
</TextBlock>
<ComboBox
x:Name="CBDiagnosis"
Width="200"
Margin="10,5,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:SelectionChanged="CBDiagnosis_SelectionChanged"
IsEnabled="False"
SelectedIndex="1"
Style="{DynamicResource StandardComboBoxStyle}">
<ComboBoxItem Content="{ll:Str '每 两百 周期一次'}" />
<ComboBoxItem Content="{ll:Str '每 五百 周期一次'}" />
<ComboBoxItem Content="{ll:Str '每 一千 周期一次'}" />
<ComboBoxItem Content="{ll:Str '每 两千 周期一次'}" />
<ComboBoxItem Content="{ll:Str '每 五千 周期一次'}" />
<ComboBoxItem Content="{ll:Str '每 一万 周期一次'}" />
<ComboBoxItem Content="{ll:Str '每 两万 周期一次'}" />
</ComboBox>
</StackPanel>
</ScrollViewer>
</Grid>
</Page>

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace VPet.Solution.Views;
/// <summary>
/// DiagnosticSettingsPage.xaml 的交互逻辑
/// </summary>
public partial class DiagnosticSettingsPage : Page
{
public DiagnosticSettingsPage()
{
InitializeComponent();
}
}

View File

@ -0,0 +1,421 @@
<Page
x:Class="VPet.Solution.Views.GraphicsSettingsPage"
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:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:local="clr-namespace:VPet.Solution.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Solution.ViewModels"
Title="GraphicsSettingsPage"
d:DataContext="{d:DesignInstance Type=vm:GraphicsSettingsPageVM}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Grid Margin="0,0,-5,0">
<ScrollViewer>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="1"
VerticalAlignment="Center"
Text="{ll:Str 快速切换}" />
<TextBlock VerticalAlignment="Center" Text="{ll:Str 置于顶层}" />
<Grid Grid.Row="0" Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<pu:Switch
x:Name="TopMostBox"
Grid.Column="0"
d:Checked="TopMostBox_Checked"
d:Unchecked="TopMostBox_Unchecked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str 将桌宠置于顶层}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str 将桌宠置于顶层}" />
<pu:Switch
x:Name="HitThroughBox"
Grid.Column="1"
d:Checked="HitThroughBox_Checked"
d:Unchecked="HitThroughBox_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str '鼠标穿透'}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '鼠标将会穿过桌宠到下方内容,不打扰操作\&#13;该选项'}" />
</Grid>
<TextBlock
Grid.Row="2"
Grid.ColumnSpan="2"
VerticalAlignment="Center"
Text="Language" />
<ComboBox
x:Name="LanguageBox"
Grid.Row="2"
Grid.Column="2"
Margin="0,3,0,2"
d:SelectionChanged="LanguageBox_SelectionChanged"
FontSize="16"
Style="{DynamicResource StandardComboBoxStyle}" />
<pu:Switch
x:Name="PetHelperBox"
Grid.Row="1"
Grid.Column="2"
d:Checked="PetHelperBox_Checked"
d:Unchecked="PetHelperBox_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str '添加小标,快速切换顶层或穿透'}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '添加快速切换小标,切换顶层或穿透'}" />
<TextBlock
Grid.Row="3"
VerticalAlignment="Center"
Text="{ll:Str 更高缩放}" />
<pu:Switch
x:Name="FullScreenBox"
Grid.Row="3"
Grid.Column="2"
d:Checked="FullScreenBox_Check"
d:Unchecked="FullScreenBox_Check"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str 支持更大缩放倍率}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str 解锁缩放限制}" />
<TextBlock
Grid.Row="4"
VerticalAlignment="Center"
Text="{ll:Str 缩放等级}" />
<Grid
Grid.Row="4"
Grid.RowSpan="2"
Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Slider
x:Name="ZoomSlider"
VerticalAlignment="Center"
d:PreviewMouseUp="ZoomSlider_MouseUp"
IsSnapToTickEnabled="True"
LargeChange=".1"
Maximum="3"
Minimum="0.5"
SmallChange=".05"
Style="{DynamicResource StandardSliderStyle}"
TickFrequency="0.05"
Value="1" />
<TextBlock
Grid.Column="1"
Margin="15,0,0,0"
VerticalAlignment="Center"
Background="{x:Null}"
FontSize="18"
FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{Binding ElementName=ZoomSlider, Path=Value, StringFormat=f2}" />
<Slider
x:Name="SliderResolution"
Grid.Row="1"
VerticalAlignment="Center"
d:PreviewMouseUp="SliderResolution_MouseUp"
IsSnapToTickEnabled="True"
LargeChange="50"
Maximum="1920"
Minimum="200"
SmallChange="20"
Style="{DynamicResource StandardSliderStyle}"
TickFrequency="10"
ToolTip="{ll:Str '桌宠图形渲染的分辨率,越高图形越清晰\&#13;但是高分辨率会占用更多内存\&#13;重启后生效'}"
Value="1000" />
<TextBlock
Grid.Row="1"
Grid.Column="1"
Margin="15,0,0,0"
VerticalAlignment="Center"
Background="{x:Null}"
FontSize="18"
FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{Binding ElementName=SliderResolution, Path=Value, StringFormat=f0}"
ToolTip="{ll:Str '桌宠图形渲染的分辨率,越高图形越清晰\&#13;但是高分辨率会占用更多内存\&#13;重启后生效'}" />
</Grid>
<TextBlock
Grid.Row="5"
Grid.ColumnSpan="2"
VerticalAlignment="Center"
Text="{ll:Str 渲染分辨率}" />
<TextBlock
Grid.Row="6"
VerticalAlignment="Center"
Text="{ll:Str 主题}" />
<ComboBox
x:Name="ThemeBox"
Grid.Row="6"
Grid.Column="2"
Margin="0,3,0,2"
d:SelectionChanged="ThemeBox_SelectionChanged"
FontSize="16"
IsEnabled="False"
Style="{DynamicResource StandardComboBoxStyle}" />
<TextBlock
Grid.Row="7"
VerticalAlignment="Center"
Text="{ll:Str 字体}" />
<ComboBox
x:Name="FontBox"
Grid.Row="7"
Grid.Column="2"
Margin="0,2,0,3"
d:SelectionChanged="FontBox_SelectionChanged"
FontSize="16"
IsEnabled="False"
Style="{DynamicResource StandardComboBoxStyle}" />
<TextBlock
Grid.Row="8"
VerticalAlignment="Center"
Text="{ll:Str 启动位置}" />
<Grid Grid.Row="8" Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.5*" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<pu:Switch
x:Name="StartPlace"
VerticalAlignment="Center"
d:Checked="StartPlace_Checked"
d:Unchecked="StartPlace_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str 退出位置}"
IsChecked="True"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str 游戏退出位置为下次桌宠启动出现的位置}" />
<TextBox
x:Name="TextBoxStartUpX"
Grid.Column="1"
Margin="0,0,5,0"
d:TextChanged="TextBoxStartUp_TextChanged"
pu:IconHelper.Margin="5,0,0,0"
pu:TextBoxHelper.Icon="X"
pu:TextBoxHelper.InputLimit="Digit"
pu:TextBoxHelper.Watermark="{ll:Str X轴}"
FontSize="16"
Style="{DynamicResource StandardTextBoxStyle}"
ToolTip="{ll:Str X轴}" />
<TextBox
x:Name="TextBoxStartUpY"
Grid.Column="2"
Margin="0,0,5,0"
d:TextChanged="TextBoxStartUp_TextChanged"
pu:IconHelper.Margin="5,0,0,0"
pu:TextBoxHelper.Icon="Y"
pu:TextBoxHelper.InputLimit="Digit"
pu:TextBoxHelper.Watermark="{ll:Str Y轴}"
FontSize="16"
Style="{DynamicResource StandardTextBoxStyle}"
ToolTip="{ll:Str Y轴}" />
<Button
x:Name="BtnStartUpGet"
Grid.Column="3"
Height="30"
HorizontalAlignment="Center"
VerticalAlignment="Center"
d:Click="BtnStartUpGet_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
BorderBrush="{DynamicResource SecondaryDark}"
BorderThickness="2"
Content="{ll:Str 当前位置}" />
</Grid>
<TextBlock
Grid.Row="9"
VerticalAlignment="Center"
Text="{ll:Str 消息框}" />
<pu:Switch
x:Name="SwitchMsgOut"
Grid.Row="9"
Grid.Column="2"
d:Checked="SwitchMsgOut_Checked"
d:Unchecked="SwitchMsgOut_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str 将消息框置于外部}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str 将消息框置于外部}" />
<TextBlock
Grid.Row="10"
VerticalAlignment="Center"
Text="{ll:Str 开机启动}" />
<Grid Grid.Row="10" Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<pu:Switch
x:Name="StartUpBox"
d:Checked="StartUpBox_Checked"
d:Unchecked="StartUpBox_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str 开机启动}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '该游戏随着开机启动该程序\&#13;如需卸载游戏\&#13;请关闭该选项'}" />
<pu:Switch
x:Name="StartUpSteamBox"
Grid.Column="1"
d:Checked="StartUpSteamBox_Checked"
d:Unchecked="StartUpSteamBox_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str 从Steam启动}"
IsEnabled="{Binding ElementName=StartUpBox, Path=IsChecked}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '从Steam启动该游戏, 统计时长不能停'}" />
</Grid>
<TextBlock
Grid.Row="11"
VerticalAlignment="Center"
Text="{ll:Str 宠物动画}" />
<TextBlock
x:Name="PetIntor"
Grid.Row="12"
Grid.Column="2"
VerticalAlignment="Center"
FontSize="14"
Text="{ll:Str 动画描述动画描述动画描述动画描述动画描述}"
TextWrapping="WrapWithOverflow" />
<ComboBox
x:Name="PetBox"
Grid.Row="11"
Grid.Column="2"
Margin="0,3,0,2"
d:SelectionChanged="PetBox_SelectionChanged"
FontSize="16"
Style="{DynamicResource StandardComboBoxStyle}"
ToolTip="{ll:Str '加载的宠物动画,重启后生效'}" />
<TextBlock
Grid.Row="13"
VerticalAlignment="Center"
Text="{ll:Str 隐藏窗口}" />
<pu:Switch
x:Name="SwitchHideFromTaskControl"
Grid.Row="13"
Grid.Column="2"
d:Checked="SwitchHideFromTaskControl_OnChecked"
d:Unchecked="SwitchHideFromTaskControl_OnChecked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str '在任务切换器中隐藏窗口'}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '在Alt+Tab中隐藏'}" />
</Grid>
</ScrollViewer>
<Button
x:Name="ButtonRestartGraph"
VerticalAlignment="Bottom"
d:Click="ButtonRestart_Click"
Background="{DynamicResource DARKPrimary}"
Content="{ll:Str 重启软件以应用更改}"
Foreground="{DynamicResource DARKPrimaryText}"
Visibility="Collapsed" />
</Grid>
</Page>

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace VPet.Solution.Views;
/// <summary>
/// GraphicsSettingsPage.xaml 的交互逻辑
/// </summary>
public partial class GraphicsSettingsPage : Page
{
public GraphicsSettingsPage()
{
InitializeComponent();
}
}

View File

@ -0,0 +1,503 @@
<Page
x:Class="VPet.Solution.Views.InteractiveSettingsPage"
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:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:local="clr-namespace:VPet.Solution.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:vm="clr-namespace:VPet.Solution.ViewModels"
Title="InteractiveSettingsPage"
d:DataContext="{d:DesignInstance Type=vm:InteractiveSettingsPageVM}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Grid>
<ScrollViewer>
<StackPanel>
<TextBlock
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 互动设置}" /><LineBreak />
<Run Text="{ll:Str 游戏互动相关设置}" />
</TextBlock>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="35" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<pu:Switch
x:Name="CalFunctionBox"
Grid.Column="2"
d:Checked="CalFunctionBox_Checked"
d:Unchecked="CalFunctionBox_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str '启用后桌宠会有状态变化,需要按时投喂等'}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '启用数据计算,桌宠会有状态变化,需要按时投喂等.\&#13;如果嫌麻烦可以关掉'}" />
<Grid
Grid.Row="1"
Grid.Column="2"
ToolTip="{ll:Str '当玩家在指定时间未对桌宠进行交互的时候,智能禁用移动功能\&#13;将在下次交互时解除'}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock FontSize="14" Text="{ll:Str '当关闭数据计算时\&#13;桌宠显示的状态'}" />
<ComboBox
x:Name="combCalFunState"
Grid.Column="1"
d:SelectionChanged="combCalFunState_SelectionChanged"
SelectedIndex="5"
Style="{DynamicResource StandardComboBoxStyle}"
ToolTip="{ll:Str '当关闭数据计算时\&#13;桌宠显示的状态'}">
<ComboBoxItem Content="Happy" />
<ComboBoxItem Content="Nomal" />
<ComboBoxItem Content="PoorCondition" />
<ComboBoxItem Content="Ill" />
</ComboBox>
</Grid>
<Grid
Grid.Row="5"
Grid.RowSpan="4"
Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="35" />
</Grid.RowDefinitions>
<pu:Switch
x:Name="MoveEventBox"
Margin="10,0,0,0"
d:Checked="MoveEventBox_Checked"
d:Unchecked="MoveEventBox_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str 启用桌宠移动}"
IsChecked="True"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '启用移动互动,桌宠会在屏幕上乱动,移动互动概率为普通互动的一半.\&#13;如果嫌麻烦可以关掉'}" />
<pu:Switch
x:Name="SmartMoveEventBox"
Grid.Column="1"
Margin="10,0,0,0"
d:Checked="SmartMoveEventBox_Checked"
d:Unchecked="SmartMoveEventBox_Checked"
Background="Transparent"
BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18"
BoxWidth="35"
CheckedBackground="{DynamicResource Primary}"
CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}"
Content="{ll:Str '智能移动'}"
IsEnabled="{Binding ElementName=MoveEventBox, Path=IsChecked}"
ToggleBrush="{DynamicResource PrimaryDark}"
ToggleShadowColor="{x:Null}"
ToggleSize="14"
ToolTip="{ll:Str '当玩家在指定时间未对桌宠进行交互的时候,智能禁用移动功能\&#13;将在下次交互时解除'}" />
<TextBlock
Grid.Row="1"
Text="{ll:Str '智能移动判断时间间隔'}"
ToolTip="{ll:Str '当玩家在指定时间未对桌宠进行交互的时候,智能禁用移动功能\&#13;将在下次交互时解除'}" />
<ComboBox
x:Name="CBSmartMove"
Grid.Row="1"
Grid.Column="1"
d:SelectionChanged="CBSmartMove_SelectionChanged"
IsEnabled="{Binding ElementName=SmartMoveEventBox, Path=IsChecked}"
SelectedIndex="5"
Style="{DynamicResource StandardComboBoxStyle}"
ToolTip="{ll:Str '当玩家在指定时间未对桌宠进行交互的时候,智能禁用移动功能\&#13;将在下次交互时解除'}">
<ComboBoxItem Content="{ll:Str '30 秒'}">
<ComboBoxItem.Tag>
<sys:Int32>30</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '1 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>60</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '2 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>120</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '5 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>300</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '10 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>600</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '20 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>1200</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '30 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>1800</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '40 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>2400</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '50 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>3000</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str '60 分钟'}">
<ComboBoxItem.Tag>
<sys:Int32>3600</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
</ComboBox>
</Grid>
<Grid Grid.Row="7" Grid.Column="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<WrapPanel Grid.ColumnSpan="3">
<TextBlock Text="{ll:Str '当前移动区域:'}" />
<TextBlock x:Name="textMoveArea" Text="{ll:Str '主屏幕'}" />
</WrapPanel>
<Button
x:Name="BtnSetMoveArea_Default"
Grid.Row="1"
Grid.Column="0"
Margin="5,5,5,5"
Padding="1"
d:Click="BtnSetMoveArea_Default_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 重置为主屏}"
ToolTip="{ll:Str '设置桌宠只在主屏幕进行移动'}" />
<Button
x:Name="BtnSetMoveArea_DetectScreen"
Grid.Row="1"
Grid.Column="1"
Margin="5,5,5,5"
Padding="1"
d:Click="BtnSetMoveArea_DetectScreen_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 设为当前屏幕}"
ToolTip="{ll:Str '设置桌宠只在当前桌宠所在的屏幕范围进行移动'}" />
<Button
x:Name="BtnSetMoveArea_Window"
Grid.Row="1"
Grid.Column="2"
Margin="5,5,5,5"
Padding="1"
d:Click="BtnSetMoveArea_Window_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 自定移动范围}"
ToolTip="{ll:Str '手动设置桌宠可移动范围'}" />
</Grid>
<TextBlock
Grid.Row="0"
VerticalAlignment="Center"
Text="{ll:Str 数据计算}" />
<TextBlock
Grid.Row="1"
VerticalAlignment="Center"
Text="{ll:Str 显示状态}" />
<TextBlock
Grid.Row="5"
VerticalAlignment="Center"
Text="{ll:Str 桌宠移动}" />
<TextBlock
Grid.Row="2"
VerticalAlignment="Center"
Text="{ll:Str 计算间隔}" />
<Grid
Grid.Row="2"
Grid.Column="2"
ToolTip="{ll:Str '数据计算和互动计算时间间隔,间隔越短需要互动的频率可能会增加.\&#13;间隔越大越不容易打扰到当前工作'}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Slider
x:Name="CalSlider"
VerticalAlignment="Center"
d:ValueChanged="CalSlider_ValueChanged"
IsSnapToTickEnabled="True"
LargeChange="1"
Maximum="60"
Minimum="5"
SmallChange=".5"
Style="{DynamicResource StandardSliderStyle}"
TickFrequency="0.1"
Value="15" />
<TextBlock
Grid.Column="1"
MinWidth="60"
Margin="10,0,0,0"
VerticalAlignment="Center"
Background="{x:Null}"
FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{ll:Str '\{0:f1} 秒',
ValueSource={Binding ElementName=CalSlider,
Path=Value}}" />
</Grid>
<TextBlock
Grid.Row="3"
VerticalAlignment="Center"
Text="{ll:Str '互动周期'}" />
<TextBlock
Grid.Row="4"
Grid.Column="2"
VerticalAlignment="Top"
FontSize="14">
<Run Text="{ll:Str 每分钟计算}" /> <Run x:Name="rTimeMinute">4</Run> <Run Text="{ll:Str 次数值变化}" /><LineBreak />
<Run Text="{ll:Str 大约}" /> <Run x:Name="RInter">4</Run> <Run Text="{ll:Str '分钟左右主动进行一次互动(走路发呆爬墙等)'}" />
</TextBlock>
<Grid
Grid.Row="3"
Grid.Column="2"
ToolTip="{ll:Str 互动周期决定在交互结束后大约经历多少计算间隔后再次进行自主行动}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Slider
x:Name="InteractionSlider"
VerticalAlignment="Center"
d:ValueChanged="InteractionSlider_ValueChanged"
IsSnapToTickEnabled="True"
LargeChange="5"
Maximum="1000"
Minimum="30"
SmallChange="1"
Style="{DynamicResource StandardSliderStyle}"
TickFrequency="1"
Value="200" />
<TextBlock
Grid.Column="1"
Width="60"
Margin="10,0,0,0"
VerticalAlignment="Center"
Background="{x:Null}"
FontSize="18"
FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{Binding ElementName=InteractionSlider, Path=Value}" />
</Grid>
</Grid>
<TextBlock
Margin="0,10,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 操作设置}" /><LineBreak />
<Run Text="{ll:Str 游戏操作相关设置}" />
</TextBlock>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="35" />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="0"
VerticalAlignment="Center"
Text="{ll:Str 长按间隔}" />
<TextBlock
Grid.Row="1"
VerticalAlignment="Center"
Text="{ll:Str 桌宠名字}" />
<TextBox
x:Name="TextBoxPetName"
Grid.Row="1"
Grid.Column="2"
d:TextChanged="TextBoxPetName_TextChanged"
FontSize="16"
Style="{DynamicResource StandardTextBoxStyle}" />
<Grid
Grid.Row="0"
Grid.Column="2"
ToolTip="{ll:Str '数据计算和互动计算时间间隔,间隔越短需要互动的频率可能会增加\&#13;间隔越大越不容易打扰到当前工作'}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Slider
x:Name="PressLengthSlider"
VerticalAlignment="Center"
d:ValueChanged="PressLengthSlider_ValueChanged"
IsSnapToTickEnabled="True"
LargeChange="0.1"
Maximum="5"
Minimum="0.05"
SmallChange=".05"
Style="{DynamicResource StandardSliderStyle}"
TickFrequency="0.01"
Value="0.5" />
<TextBlock
Grid.Column="1"
Margin="10,0,0,0"
VerticalAlignment="Center"
Background="{x:Null}"
FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{ll:Str '\{0:F2} 秒',
ValueSource={Binding ElementName=PressLengthSlider,
Path=Value}}" />
<!-- {Binding ElementName=PressLengthSlider,Path=Value,StringFormat={}{0:f2} 秒} -->
</Grid>
</Grid>
<TextBlock
Margin="0,5,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 音乐识别设置}" /><LineBreak />
<Run Text="{ll:Str 设置识别音乐播放特殊动作阈值}" /> <LineBreak />
<Run Text="{ll:Str 当前播放音量大小}" />
:<Run x:Name="RVoice" />
</TextBlock>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="35" />
</Grid.RowDefinitions>
<TextBlock
Grid.Row="0"
VerticalAlignment="Center"
Text="{ll:Str 触发音量}"
ToolTip="{ll:Str 当实时播放音量达到该值时运行音乐动作}" />
<Slider
x:Name="VoiceCatchSilder"
Grid.Column="2"
VerticalAlignment="Center"
d:ValueChanged="VoiceCatchSilder_ValueChanged"
IsSnapToTickEnabled="True"
LargeChange=".5"
Maximum="1"
Minimum="0"
SmallChange=".02"
Style="{DynamicResource StandardSliderStyle}"
TickFrequency="0.01"
ToolTip="{ll:Str 当实时播放音量达到该值时运行音乐动作}"
Value="0.3" />
<TextBlock
Grid.Column="3"
Margin="15,0,0,0"
VerticalAlignment="Center"
Background="{x:Null}"
FontSize="18"
FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{Binding ElementName=VoiceCatchSilder, Path=Value, StringFormat=p0}"
ToolTip="{ll:Str 当实时播放音量达到该值时运行特殊音乐动作}" />
<TextBlock
Grid.Row="1"
VerticalAlignment="Center"
Text="{ll:Str 高潮音量}"
ToolTip="{ll:Str 当实时播放音量达到该值时运行特殊音乐动作}" />
<Slider
x:Name="VoiceMaxSilder"
Grid.Row="1"
Grid.Column="2"
VerticalAlignment="Center"
d:ValueChanged="VoiceCatchSilder_ValueChanged"
IsSnapToTickEnabled="True"
LargeChange=".05"
Maximum="1"
Minimum="{Binding ElementName=VoiceCatchSilder, Path=Value}"
SmallChange=".01"
Style="{DynamicResource StandardSliderStyle}"
TickFrequency="0.01"
ToolTip="{ll:Str 当实时播放音量达到该值时运行特殊音乐动作}"
Value="0.75" />
<TextBlock
Grid.Row="1"
Grid.Column="3"
Margin="15,0,0,0"
VerticalAlignment="Center"
Background="{x:Null}"
FontSize="18"
FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{Binding ElementName=VoiceMaxSilder, Path=Value, StringFormat=p0}"
ToolTip="{ll:Str 当实时播放音量达到该值时运行特殊音乐动作}" />
</Grid>
</StackPanel>
</ScrollViewer>
</Grid>
</Page>

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace VPet.Solution.Views;
/// <summary>
/// InteractiveSettingsPage.xaml 的交互逻辑
/// </summary>
public partial class InteractiveSettingsPage : Page
{
public InteractiveSettingsPage()
{
InitializeComponent();
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,235 @@
<Page
x:Class="VPet.Solution.Views.ModSettingsPage"
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:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:local="clr-namespace:VPet.Solution.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:vm="clr-namespace:VPet.Solution.ViewModels"
Title="ModSettingsPage"
d:DataContext="{d:DesignInstance Type=vm:GraphicsSettingsPageVM}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120" />
<ColumnDefinition Width="15" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ListBox
x:Name="ListMod"
VerticalAlignment="Top"
d:SelectionChanged="ListMod_SelectionChanged"
Background="Transparent"
BorderThickness="0"
SelectionMode="Single"
Style="{DynamicResource SideMenuListBoxStyle}" />
<StackPanel Grid.Column="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="7" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image
x:Name="ImageMOD"
Width="120"
Height="120"
Margin="0,5,0,0"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Stretch="Fill" />
<StackPanel Grid.Column="2">
<Label
x:Name="LabelModName"
Margin="-5,2,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
Content="Core"
FontSize="20"
FontWeight="Bold"
Foreground="{DynamicResource PrimaryText}" />
<TextBlock Margin="0,0,0,0" TextWrapping="Wrap">
<Run FontWeight="Bold" Text="{ll:Str '模组作者: '}" /><LineBreak />
<Run x:Name="runMODAuthor" Text="LorisYounger" />
<LineBreak /><Run FontWeight="Bold" Text="{ll:Str '模组版本: '}" /><Run x:Name="runMODVer" Text="1.0" />
<LineBreak /><Run FontWeight="Bold" Text="{ll:Str '游戏版本: '}" /><Run x:Name="runMODGameVer" Text="1.0" />
</TextBlock>
</StackPanel>
</Grid>
<Label
Margin="-5,0,0,0"
Padding="5,5,5,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Background="{x:Null}"
Content="{ll:Str MOD介绍}"
FontSize="18"
FontWeight="Bold" />
<ScrollViewer
Height="80"
HorizontalAlignment="Left"
VerticalAlignment="Top"
pu:ScrollViewerHelper.ScrollBarThickness="10"
VerticalScrollBarVisibility="Auto">
<TextBlock
x:Name="GameInfo"
VerticalAlignment="Top"
FontSize="14"
Text="这里是MOD的介绍内容,你的介绍就是你的介绍&#xA;"
TextWrapping="Wrap" />
</ScrollViewer>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel>
<Label
Margin="-5,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Background="{x:Null}"
Content="{ll:Str 内容}"
FontSize="18"
FontWeight="Bold" />
<ScrollViewer
Height="140"
Margin="0,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
pu:ScrollViewerHelper.ScrollBarThickness="10"
VerticalScrollBarVisibility="Auto">
<TextBlock
x:Name="GameHave"
HorizontalAlignment="Left"
VerticalAlignment="Top"
FontSize="14"
Text="该mod有许多功能&#xA;比如说功能1&#xA;比如说功能1&#xA;比如说功能1&#xA;比如说功能1&#xA;比如说功能1"
TextWrapping="Wrap" />
</ScrollViewer>
</StackPanel>
<StackPanel Grid.Column="1">
<Label
Margin="-5,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
Content="{ll:Str 操作}"
FontSize="18"
FontWeight="Bold" />
<TextBlock
x:Name="ButtonOpenModFolder"
Margin="0,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:MouseDown="ButtonOpenModFolder_MouseDown"
Cursor="Hand"
FontSize="14"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{ll:Str '所在文件夹'}"
TextDecorations="Underline"
TextWrapping="Wrap" />
<TextBlock
x:Name="ButtonEnable"
Margin="0,2,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:MouseDown="ButtonEnable_MouseDown"
Cursor="Hand"
FontSize="14"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{ll:Str '启用该模组'}"
TextDecorations="Underline"
TextWrapping="Wrap" />
<TextBlock
x:Name="ButtonDisEnable"
Margin="0,2,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:MouseDown="ButtonDisEnable_MouseDown"
Cursor="Hand"
FontSize="14"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{ll:Str '停用该模组'}"
TextDecorations="Underline"
TextWrapping="Wrap" />
<TextBlock
x:Name="ButtonPublish"
Margin="0,2,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:MouseDown="ButtonPublish_MouseDown"
Cursor="Hand"
FontSize="14"
Foreground="DimGray"
Text="{ll:Str 更新至Steam}"
TextDecorations="Underline"
TextWrapping="Wrap" />
<TextBlock
x:Name="ButtonSteam"
Margin="0,2,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:MouseDown="ButtonSteam_MouseDown"
Cursor="Hand"
FontSize="14"
Foreground="DimGray"
Text="{ll:Str 创意工坊页面}"
TextDecorations="Underline"
TextWrapping="Wrap" />
<ProgressBar
x:Name="ProgressBarUpload"
Height="30"
Margin="0,2,0,0"
VerticalAlignment="Top"
pu:ProgressBarHelper.CornerRadius="2"
pu:ProgressBarHelper.IsPercentVisible="True"
Background="{DynamicResource Primary}"
BorderBrush="{DynamicResource PrimaryDarker}"
BorderThickness="2"
Foreground="{DynamicResource DARKPrimary}"
Visibility="Collapsed"
Value="60" />
<TextBlock
x:Name="ButtonSetting"
Margin="0,2,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:MouseDown="ButtonSetting_MouseDown"
Cursor="Hand"
FontSize="14"
Foreground="{DynamicResource DARKPrimaryDarker}"
Text="{ll:Str MOD设置}"
TextDecorations="Underline"
TextWrapping="Wrap" />
<Button
x:Name="ButtonAllow"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:Click="ButtonAllow_Click"
Background="#FFFF2C2C"
Content="{ll:Str 启用代码插件}"
FontSize="12"
Foreground="White"
ToolTip="{ll:Str '启用该模组的代码内容,不能保证系统安全性'}" />
</StackPanel>
<Button
x:Name="ButtonRestart"
Grid.ColumnSpan="2"
Margin="0,2,0,0"
VerticalAlignment="Bottom"
d:Click="ButtonRestart_Click"
Background="{DynamicResource DARKPrimary}"
Content="{ll:Str 重启软件以应用更改}"
Foreground="{DynamicResource DARKPrimaryText}"
Visibility="Collapsed" />
</Grid>
</StackPanel>
</Grid>
</Page>

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace VPet.Solution.Views;
/// <summary>
/// ModSettingsPage.xaml 的交互逻辑
/// </summary>
public partial class ModSettingsPage : Page
{
public ModSettingsPage()
{
InitializeComponent();
}
}

View File

@ -0,0 +1,381 @@
<Page
x:Class="VPet.Solution.Views.SystemSettingsPage"
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:ll="clr-namespace:LinePutScript.Localization.WPF;assembly=LinePutScript.Localization.WPF"
xmlns:local="clr-namespace:VPet.Solution.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:vm="clr-namespace:VPet.Solution.ViewModels"
Title="SystemSettingsPage"
d:DataContext="{d:DesignInstance Type=vm:SystemSettingsPageVM}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Grid>
<ScrollViewer>
<StackPanel>
<TextBlock
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 自动保存频率}" /><LineBreak />
<Run Text="{ll:Str 在指定时间后自动保存游戏数据}" />
</TextBlock>
<ComboBox
x:Name="CBAutoSave"
Width="200"
Margin="10,5,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
d:SelectionChanged="CBAutoSave_SelectionChanged"
FontSize="16"
SelectedIndex="3"
Style="{DynamicResource StandardComboBoxStyle}">
<ComboBoxItem Content="{ll:Str 关闭自动保存}">
<ComboBoxItem.Tag>
<sys:Int32>-1</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str 每2分钟一次}">
<ComboBoxItem.Tag>
<sys:Int32>2</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str 每5分钟一次}">
<ComboBoxItem.Tag>
<sys:Int32>5</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str 每10分钟一次}">
<ComboBoxItem.Tag>
<sys:Int32>10</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str 每20分钟一次}">
<ComboBoxItem.Tag>
<sys:Int32>20</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str 每半小时一次}">
<ComboBoxItem.Tag>
<sys:Int32>30</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="{ll:Str 每小时一次}">
<ComboBoxItem.Tag>
<sys:Int32>60</sys:Int32>
</ComboBoxItem.Tag>
</ComboBoxItem>
</ComboBox>
<TextBlock
Margin="0,6,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 从备份中还原}" /><LineBreak />
<Run Text="{ll:Str '虚拟桌宠模拟器在每次保存的时候都会备份上次储存的存档, 当原始存档丢失,受损或误操作时, 就可以还原他们'}" />
</TextBlock>
<Grid Margin="0,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="35" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<TextBlock
Grid.Row="0"
VerticalAlignment="Center"
Text="{ll:Str 备份数量}" />
<pu:NumberInput
x:Name="numBackupSaveMaxNum"
Grid.Column="2"
Margin="0,1,0,1"
d:ValueChanged="numBackupSaveMaxNum_ValueChanged"
BorderBrush="{DynamicResource PrimaryDarker}"
BorderThickness="1.5"
CornerRadius="4"
Minimum="1"
Value="20" />
<TextBlock
Grid.Row="1"
VerticalAlignment="Center"
Text="{ll:Str 加载存档}" />
<Button
x:Name="BtnSaveReload"
Grid.Row="1"
Grid.Column="3"
Margin="5"
Padding="1"
d:Click="BtnSaveReload_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 加载}"
ToolTip="{ll:Str 加载上次保存的存档}" />
<ComboBox
x:Name="CBSaveReLoad"
Grid.Row="1"
Grid.Column="2"
d:MouseEnter="CBSaveReLoad_MouseEnter"
FontSize="16"
SelectedIndex="3"
Style="{DynamicResource StandardComboBoxStyle}" />
</Grid>
<TextBlock
Margin="0,5,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 聊天设置}" /><LineBreak />
<Run Text="{ll:Str 聊天框等相关设置}" />
</TextBlock>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="35" />
</Grid.RowDefinitions>
<TextBlock
x:Name="tbMode"
Grid.Row="0"
VerticalAlignment="Center"
Text="{ll:Str 使用模式}" />
<TextBlock
Grid.Row="1"
VerticalAlignment="Center"
Text="{ll:Str 相关功能}" />
<Grid Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!--<RadioButton x:Name="RBCGPTUseAPI" Grid.Column="1" Checked="CGPType_Checked"
Content="{ll:Str '使用从ChatGPT\&#13;申请的的API'}" GroupName="cgpttype"
Style="{DynamicResource StandardRadioButtonStyle}"
ToolTip="{ll:Str 需要去OpenAI官网申请}" />-->
<RadioButton
x:Name="RBCGPTUseLB"
d:Checked="CGPType_Checked"
Content="{ll:Str '使用桌宠选项式\&#13;聊天功能'}"
GroupName="cgpttype"
IsChecked="True"
Style="{DynamicResource StandardRadioButtonStyle}"
ToolTip="{ll:Str 支持MOD与创意工坊添加聊天内容}" />
<RadioButton
x:Name="RBCGPTClose"
Grid.Column="1"
d:Checked="CGPType_Checked"
Content="{ll:Str '关闭聊天框'}"
GroupName="cgpttype"
Style="{DynamicResource StandardRadioButtonStyle}" />
<RadioButton
x:Name="RBCGPTDIY"
Grid.Row="1"
Grid.ColumnSpan="2"
d:Checked="CGPType_Checked"
GroupName="cgpttype"
Style="{DynamicResource StandardRadioButtonStyle}">
<Grid Width="{Binding ActualWidth, ElementName=RBCGPTDIY}">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="40" />
</Grid.ColumnDefinitions>
<Label Background="{x:Null}" Content="{ll:Str '自定义聊天接口'}" />
<ComboBox
x:Name="cbChatAPISelect"
Grid.Row="1"
Grid.Column="0"
d:SelectionChanged="cbChatAPISelect_SelectionChanged"
Style="{DynamicResource StandardComboBoxStyle}" />
</Grid>
</RadioButton>
</Grid>
<Button
x:Name="BtnCGPTReSet"
Grid.Row="1"
Grid.Column="2"
Margin="4"
Padding="1"
d:Click="ChatGPT_Reset_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 初始化桌宠聊天程序}" />
</Grid>
<TextBlock
Margin="0,5,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 游戏操作}" />
</TextBlock>
<Button
Grid.Row="1"
Grid.Column="2"
Margin="4"
Padding="1"
d:Click="save_click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 保存游戏}"
ToolTip="{ll:Str '手动保存桌宠存档,就算不手动保存,桌宠也会在退出的时候自动保存'}" />
<Button
Grid.Row="1"
Grid.Column="2"
Margin="4"
Padding="1"
d:Click="restart_click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 重新开始}"
ToolTip="{ll:Str '重新开始新游戏,重置统计等信息\&#13;对于想要获得脱离超模从而获得成就非常有帮助'}" />
<Button
x:Name="btn_cleancache"
Grid.Row="1"
Grid.Column="2"
Margin="4"
Padding="1"
d:Click="cleancache_click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 清理缓存}"
ToolTip="{ll:Str '清理缓存的动画,声音文件'}" />
<Button
Grid.Row="1"
Grid.Column="2"
Margin="4"
Padding="1"
d:Click="cleancache_click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 清理缓存}"
ToolTip="{ll:Str '清理缓存的动画,声音文件'}" />
<TextBlock
Margin="0,5,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{x:Null}"
TextWrapping="Wrap">
<Run
FontSize="18"
FontWeight="Bold"
Text="{ll:Str 桌宠多开}" /> <LineBreak />
<Run Text="{ll:Str '支持多开多个桌宠, 这些桌宠将会有独立的设置与存档\&#13;如果画师能够足够勤奋,未来可以看到这些多开的桌宠之间的互动'}" />
</TextBlock>
<Grid Margin="0,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="15" />
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<TextBlock
Grid.Row="0"
VerticalAlignment="Center"
Text="{ll:Str 新建多开}" />
<Button
Grid.Row="0"
Grid.Column="3"
Margin="5"
Padding="1"
d:Click="btn_mutinew_click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 新建}"
ToolTip="{ll:Str 新建一个多开}" />
<TextBox
x:Name="TBNew"
Grid.Column="2"
Margin="0,1,0,1"
d:TextChanged="TextBoxPetName_TextChanged"
pu:TextBoxHelper.Watermark="{ll:Str '新开的存档名称,一旦新建,则无法修改'}"
FontSize="16"
Style="{DynamicResource StandardTextBoxStyle}"
ToolTip="{ll:Str '新开的存档名称,一旦新建,则无法修改'}" />
<TextBlock
Grid.Row="1"
Margin="0,8,0,0"
VerticalAlignment="Top"
Text="{ll:Str 打开}" />
<Button
Grid.Row="1"
Grid.Column="3"
Height="25"
Margin="5"
Padding="1"
VerticalAlignment="Top"
d:Click="btn_muti_open_click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 打开}"
ToolTip="{ll:Str 打开当前选择的多开存档}" />
<Button
x:Name="btn_mutidel"
Grid.Row="1"
Grid.Column="3"
Height="25"
Margin="5"
Padding="1"
VerticalAlignment="Bottom"
d:Click="btn_mutidel_Click"
pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}"
Content="{ll:Str 删除}"
ToolTip="{ll:Str 删除当前选择的多开存档}" />
<ListBox
x:Name="LBHave"
Grid.Row="1"
Grid.Column="2"
MinHeight="66"
Margin="1,2,1,2"
pu:ListBoxHelper.CornerRadius="4"
pu:ListBoxHelper.ItemsHoverBackground="{DynamicResource Primary}"
pu:ListBoxHelper.ItemsSelectedBackground="{DynamicResource DARKPrimary}"
pu:ListBoxHelper.ItemsSelectedForeground="{DynamicResource DARKPrimaryText}"
BorderBrush="{DynamicResource DARKPrimary}"
BorderThickness="2" />
</Grid>
</StackPanel>
</ScrollViewer>
</Grid>
</Page>

View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace VPet.Solution.Views;
/// <summary>
/// SystemSettingsPage.xaml 的交互逻辑
/// </summary>
public partial class SystemSettingsPage : Page
{
public SystemSettingsPage()
{
InitializeComponent();
}
}