Это моя ViewModel со свойством bool и string:
ViewModel : ValidatableBindableBase {
private bool _isBusy;
public bool IsBusy {
get { return _isBusy; }
set { SetProperty(ref _isBusy, value); }
}
private string _busyMessage;
public string BusyMessage {
get { return _busyMessage; }
set { SetProperty(ref _busyMessage, value); }
}
//Triggered when the button is clicked.
private async void Login() {
ShowBusyOverlay("Signing in");
// it will show if task.delay is added
//await Task.Delay(5000);
await loginService.SignIn();
}
private async void ShowBusyOverlay(string message) {
IsBusy = true;
BusyMessage = message;
}
}
XAML: ПРИМЕЧАНИЕ: в Windows 10 15063 Visibility может связывать свойство bool без конвертера
<Grid Grid.RowSpan="3" Grid.ColumnSpan="3" Visibility="{Binding Path=IsBusy, UpdateSourceTrigger=PropertyChanged}">
<Rectangle Fill="Black" Opacity="0.4" />
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<ProgressRing IsActive="True" Width="40" Height="40"/>
<TextBlock Text="{Binding BusyMessage}" FontSize="20" FontWeight="Thin"/>
</StackPanel>
</Grid>
Цель:
Он не показывает сетку достаточно быстро, поэтому он перейдет на другую страницу, не показывая ее, как я могу показать эту загрузку / сетку, как толькокак это идет к моему ShowBusyOverlay? и это целесообразно?