增加最大帧率的首选项,移除用户状态中最大帧率的记忆
This commit is contained in:
@@ -73,6 +73,22 @@ namespace SpineViewer.Models
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region 预览画面首选项
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
private bool _renderSelectedOnly;
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
private HitTestLevel _hitTestLevel;
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
private bool _logHitSlots;
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
private uint _maxFps = 30;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region 程序选项
|
#region 程序选项
|
||||||
|
|
||||||
public RelayCommand Cmd_SelectAutoRunWorkspaceConfigPath => _cmd_SelectAutoRunWorkspaceConfigPath ??= new(() =>
|
public RelayCommand Cmd_SelectAutoRunWorkspaceConfigPath => _cmd_SelectAutoRunWorkspaceConfigPath ??= new(() =>
|
||||||
@@ -89,18 +105,12 @@ namespace SpineViewer.Models
|
|||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private AppSkin _appSkin;
|
private AppSkin _appSkin;
|
||||||
|
|
||||||
[ObservableProperty]
|
|
||||||
private bool _renderSelectedOnly;
|
|
||||||
|
|
||||||
[ObservableProperty]
|
|
||||||
private HitTestLevel _hitTestLevel;
|
|
||||||
|
|
||||||
[ObservableProperty]
|
|
||||||
private bool _logHitSlots;
|
|
||||||
|
|
||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private bool _wallpaperView;
|
private bool _wallpaperView;
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
private uint _wallpaperMaxFps = 30;
|
||||||
|
|
||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private bool _closeToTray;
|
private bool _closeToTray;
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ namespace SpineViewer.Models
|
|||||||
|
|
||||||
public uint ResolutionX { get; set; } = 1500;
|
public uint ResolutionX { get; set; } = 1500;
|
||||||
public uint ResolutionY { get; set; } = 1000;
|
public uint ResolutionY { get; set; } = 1000;
|
||||||
public uint MaxFps { get; set; } = 30;
|
|
||||||
public float Speed { get; set; } = 1f;
|
public float Speed { get; set; } = 1f;
|
||||||
public bool ShowAxis { get; set; } = true;
|
public bool ShowAxis { get; set; } = true;
|
||||||
public Color BackgroundColor { get; set; } = Color.FromRgb(105, 105, 105);
|
public Color BackgroundColor { get; set; } = Color.FromRgb(105, 105, 105);
|
||||||
|
|||||||
@@ -123,6 +123,8 @@
|
|||||||
<s:String x:Key="Str_MaxFpsTooltip">Maximum frame rate of the preview. Set to 0 for no limit.</s:String>
|
<s:String x:Key="Str_MaxFpsTooltip">Maximum frame rate of the preview. Set to 0 for no limit.</s:String>
|
||||||
<s:String x:Key="Str_PlaySpeed">Playback Speed</s:String>
|
<s:String x:Key="Str_PlaySpeed">Playback Speed</s:String>
|
||||||
<s:String x:Key="Str_WallpaperView">Wallpaper View</s:String>
|
<s:String x:Key="Str_WallpaperView">Wallpaper View</s:String>
|
||||||
|
<s:String x:Key="Str_WallpaperMaxFps">Max FPS of Wallpaper View</s:String>
|
||||||
|
<s:String x:Key="Str_WallpaperMaxFpsTooltip">Maximum frame rate of the wallpaper view. Set to 0 for no limit.</s:String>
|
||||||
<s:String x:Key="Str_RenderSelectedOnly">Render Selected Only</s:String>
|
<s:String x:Key="Str_RenderSelectedOnly">Render Selected Only</s:String>
|
||||||
<s:String x:Key="Str_HitTestLevel">Hit Test Accuracy Level</s:String>
|
<s:String x:Key="Str_HitTestLevel">Hit Test Accuracy Level</s:String>
|
||||||
<s:String x:Key="Str_LogHitSlots">Output Hit Test Slot Names</s:String>
|
<s:String x:Key="Str_LogHitSlots">Output Hit Test Slot Names</s:String>
|
||||||
|
|||||||
@@ -123,6 +123,8 @@
|
|||||||
<s:String x:Key="Str_MaxFpsTooltip">プレビュー画面の最大フレームレート。0 に設定すると制限なし。</s:String>
|
<s:String x:Key="Str_MaxFpsTooltip">プレビュー画面の最大フレームレート。0 に設定すると制限なし。</s:String>
|
||||||
<s:String x:Key="Str_PlaySpeed">再生速度</s:String>
|
<s:String x:Key="Str_PlaySpeed">再生速度</s:String>
|
||||||
<s:String x:Key="Str_WallpaperView">壁紙表示</s:String>
|
<s:String x:Key="Str_WallpaperView">壁紙表示</s:String>
|
||||||
|
<s:String x:Key="Str_WallpaperMaxFps">壁紙ビューの最大FPS</s:String>
|
||||||
|
<s:String x:Key="Str_WallpaperMaxFpsTooltip">壁紙ビューの最大フレームレート。0に設定すると制限がなし。</s:String>
|
||||||
<s:String x:Key="Str_RenderSelectedOnly">選択のみレンダリング</s:String>
|
<s:String x:Key="Str_RenderSelectedOnly">選択のみレンダリング</s:String>
|
||||||
<s:String x:Key="Str_HitTestLevel">ヒットテスト精度レベル</s:String>
|
<s:String x:Key="Str_HitTestLevel">ヒットテスト精度レベル</s:String>
|
||||||
<s:String x:Key="Str_LogHitSlots">ヒットテスト結果のスロット名を出力</s:String>
|
<s:String x:Key="Str_LogHitSlots">ヒットテスト結果のスロット名を出力</s:String>
|
||||||
|
|||||||
@@ -123,6 +123,8 @@
|
|||||||
<s:String x:Key="Str_MaxFpsTooltip">预览画面的最大帧率,设置为 0 时则无帧率限制</s:String>
|
<s:String x:Key="Str_MaxFpsTooltip">预览画面的最大帧率,设置为 0 时则无帧率限制</s:String>
|
||||||
<s:String x:Key="Str_PlaySpeed">播放速度</s:String>
|
<s:String x:Key="Str_PlaySpeed">播放速度</s:String>
|
||||||
<s:String x:Key="Str_WallpaperView">桌面投影</s:String>
|
<s:String x:Key="Str_WallpaperView">桌面投影</s:String>
|
||||||
|
<s:String x:Key="Str_WallpaperMaxFps">桌面投影最大帧率</s:String>
|
||||||
|
<s:String x:Key="Str_WallpaperMaxFpsTooltip">桌面投影的最大帧率,设置为 0 时则无帧率限制</s:String>
|
||||||
<s:String x:Key="Str_RenderSelectedOnly">仅渲染选中</s:String>
|
<s:String x:Key="Str_RenderSelectedOnly">仅渲染选中</s:String>
|
||||||
<s:String x:Key="Str_HitTestLevel">命中检测准确度等级</s:String>
|
<s:String x:Key="Str_HitTestLevel">命中检测准确度等级</s:String>
|
||||||
<s:String x:Key="Str_LogHitSlots">输出命中检测结果的插槽名称</s:String>
|
<s:String x:Key="Str_LogHitSlots">输出命中检测结果的插槽名称</s:String>
|
||||||
|
|||||||
@@ -107,12 +107,15 @@ namespace SpineViewer.ViewModels.MainWindow
|
|||||||
DebugPoints = DebugPoints,
|
DebugPoints = DebugPoints,
|
||||||
DebugClippings = DebugClippings,
|
DebugClippings = DebugClippings,
|
||||||
|
|
||||||
AppLanguage = AppLanguage,
|
|
||||||
AppSkin = AppSkin,
|
|
||||||
RenderSelectedOnly = RenderSelectedOnly,
|
RenderSelectedOnly = RenderSelectedOnly,
|
||||||
HitTestLevel = HitTestLevel,
|
HitTestLevel = HitTestLevel,
|
||||||
LogHitSlots = LogHitSlots,
|
LogHitSlots = LogHitSlots,
|
||||||
|
MaxFps = MaxFps,
|
||||||
|
|
||||||
|
AppLanguage = AppLanguage,
|
||||||
|
AppSkin = AppSkin,
|
||||||
WallpaperView = WallpaperView,
|
WallpaperView = WallpaperView,
|
||||||
|
WallpaperMaxFps = WallpaperMaxFps,
|
||||||
CloseToTray = CloseToTray,
|
CloseToTray = CloseToTray,
|
||||||
AutoRun = AutoRun,
|
AutoRun = AutoRun,
|
||||||
AutoRunWorkspaceConfigPath = AutoRunWorkspaceConfigPath,
|
AutoRunWorkspaceConfigPath = AutoRunWorkspaceConfigPath,
|
||||||
@@ -139,12 +142,15 @@ namespace SpineViewer.ViewModels.MainWindow
|
|||||||
DebugPoints = value.DebugPoints;
|
DebugPoints = value.DebugPoints;
|
||||||
DebugClippings = value.DebugClippings;
|
DebugClippings = value.DebugClippings;
|
||||||
|
|
||||||
AppLanguage = value.AppLanguage;
|
|
||||||
AppSkin = value.AppSkin;
|
|
||||||
RenderSelectedOnly = value.RenderSelectedOnly;
|
RenderSelectedOnly = value.RenderSelectedOnly;
|
||||||
HitTestLevel = value.HitTestLevel;
|
HitTestLevel = value.HitTestLevel;
|
||||||
LogHitSlots = value.LogHitSlots;
|
LogHitSlots = value.LogHitSlots;
|
||||||
|
MaxFps = value.MaxFps;
|
||||||
|
|
||||||
|
AppLanguage = value.AppLanguage;
|
||||||
|
AppSkin = value.AppSkin;
|
||||||
WallpaperView = value.WallpaperView;
|
WallpaperView = value.WallpaperView;
|
||||||
|
WallpaperMaxFps = value.WallpaperMaxFps;
|
||||||
CloseToTray = value.CloseToTray;
|
CloseToTray = value.CloseToTray;
|
||||||
AutoRun = value.AutoRun;
|
AutoRun = value.AutoRun;
|
||||||
AutoRunWorkspaceConfigPath = value.AutoRunWorkspaceConfigPath;
|
AutoRunWorkspaceConfigPath = value.AutoRunWorkspaceConfigPath;
|
||||||
@@ -250,26 +256,10 @@ namespace SpineViewer.ViewModels.MainWindow
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 程序选项
|
#region 预览画面首选项
|
||||||
|
|
||||||
public static ImmutableArray<AppLanguage> AppLanguageOptions { get; } = Enum.GetValues<AppLanguage>().ToImmutableArray();
|
|
||||||
|
|
||||||
public static ImmutableArray<AppSkin> AppSkinOptions { get; } = Enum.GetValues<AppSkin>().ToImmutableArray();
|
|
||||||
|
|
||||||
public static ImmutableArray<HitTestLevel> HitTestLevelOptions { get; } = Enum.GetValues<HitTestLevel>().ToImmutableArray();
|
public static ImmutableArray<HitTestLevel> HitTestLevelOptions { get; } = Enum.GetValues<HitTestLevel>().ToImmutableArray();
|
||||||
|
|
||||||
public AppLanguage AppLanguage
|
|
||||||
{
|
|
||||||
get => ((App)App.Current).Language;
|
|
||||||
set => SetProperty(((App)App.Current).Language, value, v => ((App)App.Current).Language = v);
|
|
||||||
}
|
|
||||||
|
|
||||||
public AppSkin AppSkin
|
|
||||||
{
|
|
||||||
get => ((App)App.Current).Skin;
|
|
||||||
set => SetProperty(((App)App.Current).Skin, value, v => ((App)App.Current).Skin = v);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool RenderSelectedOnly
|
public bool RenderSelectedOnly
|
||||||
{
|
{
|
||||||
get => _vmMain.SFMLRendererViewModel.RenderSelectedOnly;
|
get => _vmMain.SFMLRendererViewModel.RenderSelectedOnly;
|
||||||
@@ -288,12 +278,44 @@ namespace SpineViewer.ViewModels.MainWindow
|
|||||||
set => SetProperty(SpineExtension.LogHitSlots, value, v => SpineExtension.LogHitSlots = v);
|
set => SetProperty(SpineExtension.LogHitSlots, value, v => SpineExtension.LogHitSlots = v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public uint MaxFps
|
||||||
|
{
|
||||||
|
get => _vmMain.SFMLRendererViewModel.MaxFps;
|
||||||
|
set => SetProperty(_vmMain.SFMLRendererViewModel.MaxFps, value, v => _vmMain.SFMLRendererViewModel.MaxFps = v);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 程序选项
|
||||||
|
|
||||||
|
public static ImmutableArray<AppLanguage> AppLanguageOptions { get; } = Enum.GetValues<AppLanguage>().ToImmutableArray();
|
||||||
|
|
||||||
|
public static ImmutableArray<AppSkin> AppSkinOptions { get; } = Enum.GetValues<AppSkin>().ToImmutableArray();
|
||||||
|
|
||||||
|
public AppLanguage AppLanguage
|
||||||
|
{
|
||||||
|
get => ((App)App.Current).Language;
|
||||||
|
set => SetProperty(((App)App.Current).Language, value, v => ((App)App.Current).Language = v);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppSkin AppSkin
|
||||||
|
{
|
||||||
|
get => ((App)App.Current).Skin;
|
||||||
|
set => SetProperty(((App)App.Current).Skin, value, v => ((App)App.Current).Skin = v);
|
||||||
|
}
|
||||||
|
|
||||||
public bool WallpaperView
|
public bool WallpaperView
|
||||||
{
|
{
|
||||||
get => _vmMain.SFMLRendererViewModel.WallpaperView;
|
get => _vmMain.SFMLRendererViewModel.WallpaperView;
|
||||||
set => SetProperty(_vmMain.SFMLRendererViewModel.WallpaperView, value, v => _vmMain.SFMLRendererViewModel.WallpaperView = v);
|
set => SetProperty(_vmMain.SFMLRendererViewModel.WallpaperView, value, v => _vmMain.SFMLRendererViewModel.WallpaperView = v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public uint WallpaperMaxFps
|
||||||
|
{
|
||||||
|
get => _vmMain.SFMLRendererViewModel.WallpaperMaxFps;
|
||||||
|
set => SetProperty(_vmMain.SFMLRendererViewModel.WallpaperMaxFps, value, v => _vmMain.SFMLRendererViewModel.WallpaperMaxFps = v);
|
||||||
|
}
|
||||||
|
|
||||||
public bool CloseToTray
|
public bool CloseToTray
|
||||||
{
|
{
|
||||||
get => _vmMain.CloseToTray;
|
get => _vmMain.CloseToTray;
|
||||||
|
|||||||
@@ -160,7 +160,13 @@ namespace SpineViewer.ViewModels.MainWindow
|
|||||||
public uint MaxFps
|
public uint MaxFps
|
||||||
{
|
{
|
||||||
get => _renderer.MaxFps;
|
get => _renderer.MaxFps;
|
||||||
set => SetProperty(_renderer.MaxFps, value, v => _renderer.MaxFps = _wallpaperRenderer.MaxFps = value);
|
set => SetProperty(_renderer.MaxFps, value, v => _renderer.MaxFps = value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public uint WallpaperMaxFps
|
||||||
|
{
|
||||||
|
get => _wallpaperRenderer.MaxFps;
|
||||||
|
set => SetProperty(_wallpaperRenderer.MaxFps, value, v => _wallpaperRenderer.MaxFps = value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public float RealTimeFps => _realTimeFps;
|
public float RealTimeFps => _realTimeFps;
|
||||||
|
|||||||
@@ -793,16 +793,6 @@
|
|||||||
|
|
||||||
<Separator Margin="0 5"/>
|
<Separator Margin="0 5"/>
|
||||||
|
|
||||||
<!-- 最大帧率 -->
|
|
||||||
<Grid>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
|
||||||
<ColumnDefinition Width="*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Label Content="{DynamicResource Str_MaxFps}" ToolTip="{DynamicResource Str_MaxFpsTooltip}"/>
|
|
||||||
<TextBox Grid.Column="1" Text="{Binding MaxFps}" ToolTip="{DynamicResource Str_MaxFpsTooltip}"/>
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
<!-- 播放速度 -->
|
<!-- 播放速度 -->
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
|
|||||||
@@ -274,7 +274,6 @@ public partial class MainWindow : Window
|
|||||||
_vm.ExplorerListViewModel.CurrentDirectory = m.ExploringDirectory;
|
_vm.ExplorerListViewModel.CurrentDirectory = m.ExploringDirectory;
|
||||||
|
|
||||||
_vm.SFMLRendererViewModel.SetResolution(m.ResolutionX, m.ResolutionY);
|
_vm.SFMLRendererViewModel.SetResolution(m.ResolutionX, m.ResolutionY);
|
||||||
_vm.SFMLRendererViewModel.MaxFps = m.MaxFps;
|
|
||||||
_vm.SFMLRendererViewModel.Speed = m.Speed;
|
_vm.SFMLRendererViewModel.Speed = m.Speed;
|
||||||
_vm.SFMLRendererViewModel.ShowAxis = m.ShowAxis;
|
_vm.SFMLRendererViewModel.ShowAxis = m.ShowAxis;
|
||||||
_vm.SFMLRendererViewModel.BackgroundColor = m.BackgroundColor;
|
_vm.SFMLRendererViewModel.BackgroundColor = m.BackgroundColor;
|
||||||
@@ -310,7 +309,6 @@ public partial class MainWindow : Window
|
|||||||
|
|
||||||
ResolutionX = _vm.SFMLRendererViewModel.ResolutionX,
|
ResolutionX = _vm.SFMLRendererViewModel.ResolutionX,
|
||||||
ResolutionY = _vm.SFMLRendererViewModel.ResolutionY,
|
ResolutionY = _vm.SFMLRendererViewModel.ResolutionY,
|
||||||
MaxFps = _vm.SFMLRendererViewModel.MaxFps,
|
|
||||||
Speed = _vm.SFMLRendererViewModel.Speed,
|
Speed = _vm.SFMLRendererViewModel.Speed,
|
||||||
ShowAxis = _vm.SFMLRendererViewModel.ShowAxis,
|
ShowAxis = _vm.SFMLRendererViewModel.ShowAxis,
|
||||||
BackgroundColor = _vm.SFMLRendererViewModel.BackgroundColor,
|
BackgroundColor = _vm.SFMLRendererViewModel.BackgroundColor,
|
||||||
@@ -400,7 +398,6 @@ public partial class MainWindow : Window
|
|||||||
{
|
{
|
||||||
case nameof(SFMLRendererViewModel.ResolutionX):
|
case nameof(SFMLRendererViewModel.ResolutionX):
|
||||||
case nameof(SFMLRendererViewModel.ResolutionY):
|
case nameof(SFMLRendererViewModel.ResolutionY):
|
||||||
case nameof(SFMLRendererViewModel.MaxFps):
|
|
||||||
case nameof(SFMLRendererViewModel.Speed):
|
case nameof(SFMLRendererViewModel.Speed):
|
||||||
case nameof(SFMLRendererViewModel.ShowAxis):
|
case nameof(SFMLRendererViewModel.ShowAxis):
|
||||||
case nameof(SFMLRendererViewModel.BackgroundColor):
|
case nameof(SFMLRendererViewModel.BackgroundColor):
|
||||||
|
|||||||
@@ -195,30 +195,8 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
|
||||||
<GroupBox Header="{DynamicResource Str_AppPreference}">
|
<GroupBox Header="{DynamicResource Str_RendererPreference}">
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<Grid>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
|
||||||
<ColumnDefinition Width="*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Label Content="{DynamicResource Str_Language}"/>
|
|
||||||
<ComboBox Grid.Column="1"
|
|
||||||
SelectedItem="{Binding AppLanguage}"
|
|
||||||
ItemsSource="{x:Static vm:PreferenceViewModel.AppLanguageOptions}"/>
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
<Grid>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
|
||||||
<ColumnDefinition Width="*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Label Content="{DynamicResource Str_Skin}"/>
|
|
||||||
<ComboBox Grid.Column="1"
|
|
||||||
SelectedItem="{Binding AppSkin}"
|
|
||||||
ItemsSource="{x:Static vm:PreferenceViewModel.AppSkinOptions}"/>
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
||||||
@@ -248,6 +226,41 @@
|
|||||||
<ToggleButton Grid.Column="1" IsChecked="{Binding LogHitSlots}" ToolTip="{DynamicResource Str_LogHitSlotsTooltip}"/>
|
<ToggleButton Grid.Column="1" IsChecked="{Binding LogHitSlots}" ToolTip="{DynamicResource Str_LogHitSlotsTooltip}"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Label Content="{DynamicResource Str_MaxFps}" ToolTip="{DynamicResource Str_MaxFpsTooltip}"/>
|
||||||
|
<TextBox Grid.Column="1" Text="{Binding MaxFps}" ToolTip="{DynamicResource Str_MaxFpsTooltip}"/>
|
||||||
|
</Grid>
|
||||||
|
</StackPanel>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
|
<GroupBox Header="{DynamicResource Str_AppPreference}">
|
||||||
|
<StackPanel>
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Label Content="{DynamicResource Str_Language}"/>
|
||||||
|
<ComboBox Grid.Column="1"
|
||||||
|
SelectedItem="{Binding AppLanguage}"
|
||||||
|
ItemsSource="{x:Static vm:PreferenceViewModel.AppLanguageOptions}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Label Content="{DynamicResource Str_Skin}"/>
|
||||||
|
<ComboBox Grid.Column="1"
|
||||||
|
SelectedItem="{Binding AppSkin}"
|
||||||
|
ItemsSource="{x:Static vm:PreferenceViewModel.AppSkinOptions}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
||||||
@@ -257,6 +270,15 @@
|
|||||||
<ToggleButton Grid.Column="1" IsChecked="{Binding WallpaperView}"/>
|
<ToggleButton Grid.Column="1" IsChecked="{Binding WallpaperView}"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Label Content="{DynamicResource Str_WallpaperMaxFps}" ToolTip="{DynamicResource Str_WallpaperMaxFpsTooltip}"/>
|
||||||
|
<TextBox Grid.Column="1" Text="{Binding WallpaperMaxFps}" ToolTip="{DynamicResource Str_WallpaperMaxFpsTooltip}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
<ColumnDefinition Width="Auto" SharedSizeGroup="LabelCol"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user