为Avalonia版添加静默启动功能,防止闪屏

This commit is contained in:
Waheal 2025-10-05 21:40:05 +08:00
parent 9c58fec8d4
commit 9eaf8b939c
13 changed files with 256 additions and 196 deletions

View file

@ -100,6 +100,7 @@ public class UIItem
public bool EnableDragDropSort { get; set; } public bool EnableDragDropSort { get; set; }
public bool DoubleClick2Activate { get; set; } public bool DoubleClick2Activate { get; set; }
public bool AutoHideStartup { get; set; } public bool AutoHideStartup { get; set; }
public bool SilentStartup { get; set; }
public bool Hide2TrayWhenClose { get; set; } public bool Hide2TrayWhenClose { get; set; }
public bool ShowInTaskbar { get; set; } public bool ShowInTaskbar { get; set; }
public bool MacOSShowInDock { get; set; } public bool MacOSShowInDock { get; set; }

View file

@ -3750,6 +3750,15 @@ namespace ServiceLib.Resx {
} }
} }
/// <summary>
/// 查找类似 Silent Startup 的本地化字符串。
/// </summary>
public static string TbSettingsSilentStartup {
get {
return ResourceManager.GetString("TbSettingsSilentStartup", resourceCulture);
}
}
/// <summary> /// <summary>
/// 查找类似 Turn on Sniffing 的本地化字符串。 /// 查找类似 Turn on Sniffing 的本地化字符串。
/// </summary> /// </summary>

View file

@ -1560,4 +1560,7 @@
<data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve">
<value>Multi-Configuration Fallback by Xray</value> <value>Multi-Configuration Fallback by Xray</value>
</data> </data>
<data name="TbSettingsSilentStartup" xml:space="preserve">
<value>آغاز سکوت</value>
</data>
</root> </root>

View file

@ -1560,4 +1560,7 @@
<data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve">
<value>Multi-Configuration Fallback by Xray</value> <value>Multi-Configuration Fallback by Xray</value>
</data> </data>
<data name="TbSettingsSilentStartup" xml:space="preserve">
<value>Némán indítás</value>
</data>
</root> </root>

View file

@ -1560,4 +1560,7 @@
<data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve">
<value>Multi-Configuration Fallback by Xray</value> <value>Multi-Configuration Fallback by Xray</value>
</data> </data>
<data name="TbSettingsSilentStartup" xml:space="preserve">
<value>Silent Startup</value>
</data>
</root> </root>

View file

@ -1560,4 +1560,7 @@
<data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve">
<value>Multi-Configuration Fallback by Xray</value> <value>Multi-Configuration Fallback by Xray</value>
</data> </data>
<data name="TbSettingsSilentStartup" xml:space="preserve">
<value>Тихий запуск</value>
</data>
</root> </root>

View file

@ -993,6 +993,9 @@
<data name="LvMoreUrl" xml:space="preserve"> <data name="LvMoreUrl" xml:space="preserve">
<value>更多地址 (url),用逗号 (,) 分隔;订阅转换将失效</value> <value>更多地址 (url),用逗号 (,) 分隔;订阅转换将失效</value>
</data> </data>
<data name="SpeedDisplayText" xml:space="preserve">
<value>{0} : {1}/s↑ | {2}/s↓</value>
</data>
<data name="LvAutoUpdateInterval" xml:space="preserve"> <data name="LvAutoUpdateInterval" xml:space="preserve">
<value>自动更新间隔 (分钟)</value> <value>自动更新间隔 (分钟)</value>
</data> </data>
@ -1557,4 +1560,7 @@
<data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve">
<value>多配置文件故障转移 Xray</value> <value>多配置文件故障转移 Xray</value>
</data> </data>
<data name="TbSettingsSilentStartup" xml:space="preserve">
<value>静默启动</value>
</data>
</root> </root>

View file

@ -993,6 +993,9 @@
<data name="LvMoreUrl" xml:space="preserve"> <data name="LvMoreUrl" xml:space="preserve">
<value>更多位址 (url),用逗號 (,) 分隔;訂閱轉換將失效</value> <value>更多位址 (url),用逗號 (,) 分隔;訂閱轉換將失效</value>
</data> </data>
<data name="SpeedDisplayText" xml:space="preserve">
<value>{0} : {1}/s↑ | {2}/s↓</value>
</data>
<data name="LvAutoUpdateInterval" xml:space="preserve"> <data name="LvAutoUpdateInterval" xml:space="preserve">
<value>自動更新間隔 (分鐘)</value> <value>自動更新間隔 (分鐘)</value>
</data> </data>
@ -1557,4 +1560,7 @@
<data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve"> <data name="menuGenGroupMultipleServerXrayFallback" xml:space="preserve">
<value>Multi-Configuration Fallback by Xray</value> <value>Multi-Configuration Fallback by Xray</value>
</data> </data>
<data name="TbSettingsSilentStartup" xml:space="preserve">
<value>静默启动</value>
</data>
</root> </root>

View file

@ -578,7 +578,7 @@ public class MainWindowViewModel : MyReactiveObject
private async Task AutoHideStartup() private async Task AutoHideStartup()
{ {
if (_config.UiItem.AutoHideStartup) if (_config.UiItem.AutoHideStartup && !_config.UiItem.SilentStartup)
{ {
AppEvents.ShowHideWindowRequested.Publish(false); AppEvents.ShowHideWindowRequested.Publish(false);
} }

View file

@ -54,6 +54,7 @@ public class OptionSettingViewModel : MyReactiveObject
[Reactive] public bool EnableUpdateSubOnlyRemarksExist { get; set; } [Reactive] public bool EnableUpdateSubOnlyRemarksExist { get; set; }
[Reactive] public bool EnableSecurityProtocolTls13 { get; set; } [Reactive] public bool EnableSecurityProtocolTls13 { get; set; }
[Reactive] public bool AutoHideStartup { get; set; } [Reactive] public bool AutoHideStartup { get; set; }
[Reactive] public bool SilentStartup { get; set; }
[Reactive] public bool Hide2TrayWhenClose { get; set; } [Reactive] public bool Hide2TrayWhenClose { get; set; }
[Reactive] public bool EnableDragDropSort { get; set; } [Reactive] public bool EnableDragDropSort { get; set; }
[Reactive] public bool DoubleClick2Activate { get; set; } [Reactive] public bool DoubleClick2Activate { get; set; }
@ -172,6 +173,7 @@ public class OptionSettingViewModel : MyReactiveObject
EnableUpdateSubOnlyRemarksExist = _config.UiItem.EnableUpdateSubOnlyRemarksExist; EnableUpdateSubOnlyRemarksExist = _config.UiItem.EnableUpdateSubOnlyRemarksExist;
EnableSecurityProtocolTls13 = _config.GuiItem.EnableSecurityProtocolTls13; EnableSecurityProtocolTls13 = _config.GuiItem.EnableSecurityProtocolTls13;
AutoHideStartup = _config.UiItem.AutoHideStartup; AutoHideStartup = _config.UiItem.AutoHideStartup;
SilentStartup = _config.UiItem.SilentStartup;
Hide2TrayWhenClose = _config.UiItem.Hide2TrayWhenClose; Hide2TrayWhenClose = _config.UiItem.Hide2TrayWhenClose;
EnableDragDropSort = _config.UiItem.EnableDragDropSort; EnableDragDropSort = _config.UiItem.EnableDragDropSort;
DoubleClick2Activate = _config.UiItem.DoubleClick2Activate; DoubleClick2Activate = _config.UiItem.DoubleClick2Activate;
@ -332,6 +334,7 @@ public class OptionSettingViewModel : MyReactiveObject
_config.UiItem.EnableUpdateSubOnlyRemarksExist = EnableUpdateSubOnlyRemarksExist; _config.UiItem.EnableUpdateSubOnlyRemarksExist = EnableUpdateSubOnlyRemarksExist;
_config.GuiItem.EnableSecurityProtocolTls13 = EnableSecurityProtocolTls13; _config.GuiItem.EnableSecurityProtocolTls13 = EnableSecurityProtocolTls13;
_config.UiItem.AutoHideStartup = AutoHideStartup; _config.UiItem.AutoHideStartup = AutoHideStartup;
_config.UiItem.SilentStartup = SilentStartup;
_config.UiItem.Hide2TrayWhenClose = Hide2TrayWhenClose; _config.UiItem.Hide2TrayWhenClose = Hide2TrayWhenClose;
_config.GuiItem.AutoUpdateInterval = AutoUpdateInterval; _config.GuiItem.AutoUpdateInterval = AutoUpdateInterval;
_config.UiItem.EnableDragDropSort = EnableDragDropSort; _config.UiItem.EnableDragDropSort = EnableDragDropSort;

View file

@ -31,6 +31,11 @@ public partial class MainWindow : WindowBase<MainWindowViewModel>
_config = AppManager.Instance.Config; _config = AppManager.Instance.Config;
_manager = new WindowNotificationManager(TopLevel.GetTopLevel(this)) { MaxItems = 3, Position = NotificationPosition.TopRight }; _manager = new WindowNotificationManager(TopLevel.GetTopLevel(this)) { MaxItems = 3, Position = NotificationPosition.TopRight };
if (_config.UiItem.SilentStartup)
{
this.WindowState = WindowState.Minimized;
}
this.KeyDown += MainWindow_KeyDown; this.KeyDown += MainWindow_KeyDown;
menuSettingsSetUWP.Click += menuSettingsSetUWP_Click; menuSettingsSetUWP.Click += menuSettingsSetUWP_Click;
menuPromotion.Click += menuPromotion_Click; menuPromotion.Click += menuPromotion_Click;
@ -438,6 +443,10 @@ public partial class MainWindow : WindowBase<MainWindowViewModel>
protected override void OnLoaded(object? sender, RoutedEventArgs e) protected override void OnLoaded(object? sender, RoutedEventArgs e)
{ {
base.OnLoaded(sender, e); base.OnLoaded(sender, e);
if (_config.UiItem.SilentStartup)
{
this.Hide();
}
RestoreUI(); RestoreUI();
} }

View file

@ -340,7 +340,7 @@
<Grid <Grid
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
ColumnDefinitions="Auto,Auto,*" ColumnDefinitions="Auto,Auto,*"
RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto"> RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto">
<TextBlock <TextBlock
x:Name="tbAutoRun" x:Name="tbAutoRun"
@ -455,61 +455,74 @@
HorizontalAlignment="Left" /> HorizontalAlignment="Left" />
<TextBlock <TextBlock
x:Name="labHide2TrayWhenClose"
Grid.Row="9" Grid.Row="9"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsSilentStartup}" />
<ToggleSwitch
x:Name="togSilentStartup"
Grid.Row="9"
Grid.Column="1"
Margin="{StaticResource Margin4}"
HorizontalAlignment="Left" />
<TextBlock
x:Name="labHide2TrayWhenClose"
Grid.Row="10"
Grid.Column="0"
Margin="{StaticResource Margin4}"
VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsHide2TrayWhenClose}" /> Text="{x:Static resx:ResUI.TbSettingsHide2TrayWhenClose}" />
<ToggleSwitch <ToggleSwitch
x:Name="togHide2TrayWhenClose" x:Name="togHide2TrayWhenClose"
Grid.Row="9" Grid.Row="10"
Grid.Column="1" Grid.Column="1"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
HorizontalAlignment="Left" /> HorizontalAlignment="Left" />
<TextBlock <TextBlock
Grid.Row="11" Grid.Row="12"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsDoubleClick2Activate}" /> Text="{x:Static resx:ResUI.TbSettingsDoubleClick2Activate}" />
<ToggleSwitch <ToggleSwitch
x:Name="togDoubleClick2Activate" x:Name="togDoubleClick2Activate"
Grid.Row="11" Grid.Row="12"
Grid.Column="1" Grid.Column="1"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
HorizontalAlignment="Left" /> HorizontalAlignment="Left" />
<TextBlock <TextBlock
Grid.Row="14" Grid.Row="15"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsAutoUpdateInterval}" /> Text="{x:Static resx:ResUI.TbSettingsAutoUpdateInterval}" />
<TextBox <TextBox
x:Name="txtautoUpdateInterval" x:Name="txtautoUpdateInterval"
Grid.Row="14" Grid.Row="15"
Grid.Column="1" Grid.Column="1"
Width="200" Width="200"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
HorizontalAlignment="Left" /> HorizontalAlignment="Left" />
<TextBlock <TextBlock
Grid.Row="15" Grid.Row="16"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsCurrentFontFamily}" /> Text="{x:Static resx:ResUI.TbSettingsCurrentFontFamily}" />
<ComboBox <ComboBox
x:Name="cmbcurrentFontFamily" x:Name="cmbcurrentFontFamily"
Grid.Row="15" Grid.Row="16"
Grid.Column="1" Grid.Column="1"
Width="300" Width="300"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
IsEditable="True" /> IsEditable="True" />
<TextBlock <TextBlock
Grid.Row="15" Grid.Row="16"
Grid.Column="2" Grid.Column="2"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
@ -517,114 +530,114 @@
TextWrapping="Wrap" /> TextWrapping="Wrap" />
<TextBlock <TextBlock
Grid.Row="16" Grid.Row="17"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsMixedConcurrencyCount}" /> Text="{x:Static resx:ResUI.TbSettingsMixedConcurrencyCount}" />
<ComboBox <ComboBox
x:Name="cmbMixedConcurrencyCount" x:Name="cmbMixedConcurrencyCount"
Grid.Row="16" Grid.Row="17"
Grid.Column="1" Grid.Column="1"
Width="200" Width="200"
Margin="{StaticResource Margin4}" /> Margin="{StaticResource Margin4}" />
<TextBlock <TextBlock
Grid.Row="17" Grid.Row="18"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsSpeedTestTimeout}" /> Text="{x:Static resx:ResUI.TbSettingsSpeedTestTimeout}" />
<ComboBox <ComboBox
x:Name="cmbSpeedTestTimeout" x:Name="cmbSpeedTestTimeout"
Grid.Row="17" Grid.Row="18"
Grid.Column="1" Grid.Column="1"
Width="200" Width="200"
Margin="{StaticResource Margin4}" /> Margin="{StaticResource Margin4}" />
<TextBlock <TextBlock
Grid.Row="18" Grid.Row="19"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsSpeedTestUrl}" /> Text="{x:Static resx:ResUI.TbSettingsSpeedTestUrl}" />
<ComboBox <ComboBox
Name="cmbSpeedTestUrl" Name="cmbSpeedTestUrl"
Grid.Row="18" Grid.Row="19"
Grid.Column="1" Grid.Column="1"
Width="300" Width="300"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
IsEditable="True" /> IsEditable="True" />
<TextBlock <TextBlock
Grid.Row="19" Grid.Row="20"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsSpeedPingTestUrl}" /> Text="{x:Static resx:ResUI.TbSettingsSpeedPingTestUrl}" />
<ComboBox <ComboBox
x:Name="cmbSpeedPingTestUrl" x:Name="cmbSpeedPingTestUrl"
Grid.Row="19" Grid.Row="20"
Grid.Column="1" Grid.Column="1"
Width="300" Width="300"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
IsEditable="True" /> IsEditable="True" />
<TextBlock <TextBlock
Grid.Row="20" Grid.Row="21"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsIPAPIUrl}" /> Text="{x:Static resx:ResUI.TbSettingsIPAPIUrl}" />
<ComboBox <ComboBox
x:Name="cmbIPAPIUrl" x:Name="cmbIPAPIUrl"
Grid.Row="20" Grid.Row="21"
Grid.Column="1" Grid.Column="1"
Width="300" Width="300"
Margin="{StaticResource Margin4}" /> Margin="{StaticResource Margin4}" />
<TextBlock <TextBlock
Grid.Row="21" Grid.Row="22"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsSubConvert}" /> Text="{x:Static resx:ResUI.TbSettingsSubConvert}" />
<ComboBox <ComboBox
x:Name="cmbSubConvertUrl" x:Name="cmbSubConvertUrl"
Grid.Row="21" Grid.Row="22"
Grid.Column="1" Grid.Column="1"
Width="300" Width="300"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
IsEditable="True" /> IsEditable="True" />
<TextBlock <TextBlock
Grid.Row="22" Grid.Row="23"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsMainGirdOrientation}" /> Text="{x:Static resx:ResUI.TbSettingsMainGirdOrientation}" />
<ComboBox <ComboBox
x:Name="cmbMainGirdOrientation" x:Name="cmbMainGirdOrientation"
Grid.Row="22" Grid.Row="23"
Grid.Column="1" Grid.Column="1"
Width="200" Width="200"
Margin="{StaticResource Margin4}" /> Margin="{StaticResource Margin4}" />
<TextBlock <TextBlock
Grid.Row="23" Grid.Row="24"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsGeoFilesSource}" /> Text="{x:Static resx:ResUI.TbSettingsGeoFilesSource}" />
<ComboBox <ComboBox
x:Name="cmbGetFilesSourceUrl" x:Name="cmbGetFilesSourceUrl"
Grid.Row="23" Grid.Row="24"
Grid.Column="1" Grid.Column="1"
Width="300" Width="300"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
IsEditable="True" /> IsEditable="True" />
<TextBlock <TextBlock
Grid.Row="23" Grid.Row="24"
Grid.Column="2" Grid.Column="2"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
@ -632,20 +645,20 @@
TextWrapping="Wrap" /> TextWrapping="Wrap" />
<TextBlock <TextBlock
Grid.Row="24" Grid.Row="25"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsSrsFilesSource}" /> Text="{x:Static resx:ResUI.TbSettingsSrsFilesSource}" />
<ComboBox <ComboBox
x:Name="cmbSrsFilesSourceUrl" x:Name="cmbSrsFilesSourceUrl"
Grid.Row="24" Grid.Row="25"
Grid.Column="1" Grid.Column="1"
Width="300" Width="300"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
IsEditable="True" /> IsEditable="True" />
<TextBlock <TextBlock
Grid.Row="24" Grid.Row="25"
Grid.Column="2" Grid.Column="2"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
@ -653,20 +666,20 @@
TextWrapping="Wrap" /> TextWrapping="Wrap" />
<TextBlock <TextBlock
Grid.Row="25" Grid.Row="26"
Grid.Column="0" Grid.Column="0"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"
Text="{x:Static resx:ResUI.TbSettingsRoutingRulesSource}" /> Text="{x:Static resx:ResUI.TbSettingsRoutingRulesSource}" />
<ComboBox <ComboBox
x:Name="cmbRoutingRulesSourceUrl" x:Name="cmbRoutingRulesSourceUrl"
Grid.Row="25" Grid.Row="26"
Grid.Column="1" Grid.Column="1"
Width="300" Width="300"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
IsEditable="True" /> IsEditable="True" />
<TextBlock <TextBlock
Grid.Row="25" Grid.Row="26"
Grid.Column="2" Grid.Column="2"
Margin="{StaticResource Margin4}" Margin="{StaticResource Margin4}"
VerticalAlignment="Center" VerticalAlignment="Center"

View file

@ -88,6 +88,7 @@ public partial class OptionSettingWindow : WindowBase<OptionSettingViewModel>
this.Bind(ViewModel, vm => vm.EnableUpdateSubOnlyRemarksExist, v => v.togEnableUpdateSubOnlyRemarksExist.IsChecked).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.EnableUpdateSubOnlyRemarksExist, v => v.togEnableUpdateSubOnlyRemarksExist.IsChecked).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.EnableSecurityProtocolTls13, v => v.togEnableSecurityProtocolTls13.IsChecked).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.EnableSecurityProtocolTls13, v => v.togEnableSecurityProtocolTls13.IsChecked).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.AutoHideStartup, v => v.togAutoHideStartup.IsChecked).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.AutoHideStartup, v => v.togAutoHideStartup.IsChecked).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SilentStartup, v => v.togSilentStartup.IsChecked).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.Hide2TrayWhenClose, v => v.togHide2TrayWhenClose.IsChecked).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.Hide2TrayWhenClose, v => v.togHide2TrayWhenClose.IsChecked).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.DoubleClick2Activate, v => v.togDoubleClick2Activate.IsChecked).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.DoubleClick2Activate, v => v.togDoubleClick2Activate.IsChecked).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.AutoUpdateInterval, v => v.txtautoUpdateInterval.Text).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.AutoUpdateInterval, v => v.txtautoUpdateInterval.Text).DisposeWith(disposables);