feat: 查看公告按钮添加检查时禁用

This commit is contained in:
uye
2025-07-20 22:45:47 +08:00
parent f5301595cc
commit 9ee0aabf7b
2 changed files with 31 additions and 3 deletions

View File

@@ -678,12 +678,38 @@ namespace MaaWpfGui.ViewModels.UI
(sender as ComboBox)?.MakeComboBoxSearchable();
}
private bool _isCheckingAnnouncement = false;
public bool IsCheckingAnnouncement
{
get => _isCheckingAnnouncement;
set
{
SetAndNotify(ref _isCheckingAnnouncement, value);
}
}
// UI 绑定的方法
[UsedImplicitly]
public async Task CheckAndDownloadAnnouncement()
{
await Instances.AnnouncementViewModel.CheckAndDownloadAnnouncement();
_ = Execute.OnUIThreadAsync(() => Instances.WindowManager.ShowWindow(Instances.AnnouncementViewModel));
if (IsCheckingAnnouncement)
{
return;
}
IsCheckingAnnouncement = true;
try
{
await Instances.AnnouncementViewModel.CheckAndDownloadAnnouncement();
await Execute.OnUIThreadAsync(() =>
Instances.WindowManager.ShowWindow(Instances.AnnouncementViewModel));
}
finally
{
IsCheckingAnnouncement = false;
}
}
/// <summary>

View File

@@ -2,6 +2,7 @@
x:Class="MaaWpfGui.Views.UserControl.Settings.AboutUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:c="clr-namespace:CalcBinding;assembly=CalcBinding"
xmlns:constants="clr-namespace:MaaWpfGui.Constants"
xmlns:controls="clr-namespace:MaaWpfGui.Styles.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@@ -59,7 +60,8 @@
Width="Auto"
Margin="5"
Command="{s:Action CheckAndDownloadAnnouncement}"
Content="{DynamicResource CheckAndDownloadAnnouncement}" />
Content="{DynamicResource CheckAndDownloadAnnouncement}"
IsEnabled="{c:Binding !IsCheckingAnnouncement}" />
</StackPanel>
<StackPanel Grid.Column="1">
<controls:TextBlock