Skip to content

Commit 658f3cb

Browse files
committed
解决自动保留开关不保存bug
1 parent fba0fc8 commit 658f3cb

File tree

3 files changed

+23
-11
lines changed

3 files changed

+23
-11
lines changed

MainWindow.xaml.cs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -281,12 +281,12 @@ public void ProcessText(string text)
281281

282282
try
283283
{
284-
Clipboard.SetText(text);
284+
Clipboard.SetDataObject(text);
285285
}
286286
catch
287287
{
288288
Thread.Sleep(50);
289-
Clipboard.SetText(text);
289+
Clipboard.SetDataObject(text);
290290
}
291291
}
292292

@@ -692,14 +692,6 @@ private void RemainOriginal(object sender, MouseButtonEventArgs e)
692692
var remain = new RemainOriginal
693693
{
694694
Owner = this,
695-
SwitchChineseOriginal =
696-
{
697-
IsOn = RemainChinese
698-
},
699-
SwitchEnglishOriginal =
700-
{
701-
IsOn = RemainEnglish
702-
}
703695
};
704696
remain.Show();
705697
}

RemainOriginal.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
Margin="35,1,0,0" IsOn="True" VerticalAlignment="Top" Toggled="OnChineseToggled" />
1717

1818
<mah:ToggleSwitch x:Name="SwitchEnglishOriginal" MinWidth="0" ContentDirection="LeftToRight" Content="英 文 "
19-
FontWeight="Bold" ContentPadding="0,0,-10,0" FontFamily="Microsoft YaHei UI" IsOn="True" VerticalAlignment="Top" Margin="35,33,0,0" Toggled="OnEnglishToggled" />
19+
FontWeight="Bold" ContentPadding="0,0,-10,0" FontFamily="Microsoft YaHei UI"
20+
IsOn="True" VerticalAlignment="Top" Margin="35,33,0,0" Toggled="OnEnglishToggled" />
2021
</Grid>
2122
</Window>

RemainOriginal.xaml.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,26 @@ public partial class RemainOriginal : Window
1313
private readonly MainWindow _mainWindow =
1414
Application.Current.Windows.Cast<Window>().FirstOrDefault(window => window is MainWindow) as MainWindow;
1515

16+
// 防止窗口初始化时执行 toggled
17+
private bool _first1 = true;
18+
private bool _first2 = true;
19+
1620
public RemainOriginal()
1721
{
1822
InitializeComponent();
23+
24+
SwitchChineseOriginal.IsOn = _mainWindow.RemainChinese;
25+
SwitchEnglishOriginal.IsOn = _mainWindow.RemainEnglish;
1926
}
2027

2128
private void OnChineseToggled(object sender, RoutedEventArgs e)
2229
{
30+
if (_first1)
31+
{
32+
_first1 = false;
33+
return;
34+
}
35+
2336
_mainWindow.RemainChinese = SwitchChineseOriginal.IsOn;
2437

2538
Settings.Default.RemainChinese = SwitchChineseOriginal.IsOn;
@@ -28,6 +41,12 @@ private void OnChineseToggled(object sender, RoutedEventArgs e)
2841

2942
private void OnEnglishToggled(object sender, RoutedEventArgs e)
3043
{
44+
if (_first2)
45+
{
46+
_first2 = false;
47+
return;
48+
}
49+
3150
_mainWindow.RemainEnglish = SwitchEnglishOriginal.IsOn;
3251

3352
Settings.Default.RemainEnglish = SwitchEnglishOriginal.IsOn;

0 commit comments

Comments
 (0)