Несколько обновлений асинхронного интерфейса в Silverlight
Как выполнить несколько обновлений пользовательского интерфейса из обратного вызова Silverlight?
Например, я хотел бы, чтобы пользователь нажимал кнопку, пользовательский интерфейс вносил изменения, выполнял некоторую работу, а затем вносил другие изменения ... вместо этого пользователь нажимал кнопку, и кажется, что обратный вызов выполняется в фоновом режиме, а затем все UI меняет вспышку на моих глазах.
MainPage.xaml:
<Grid x:Name="LayoutRoot" Background="White" >
<TextBlock Height="23" Name="textBlock1" Text="TextBlock" VerticalAlignment="Top"/>
<Button Click="button1_Click" Content="Button" Height="23" Name="button1" Width="75" />
</Grid>
MainPage.xaml.cs:
private void button1_Click(object sender, RoutedEventArgs e)
{
textBlock1.Text = "1";
// also tried Thread.Sleep(5000);
Dispatcher.BeginInvoke(() => Thread.Sleep(5000));
textBlock1.Text = "2";
}