Silverlight 콜백에서 여러 UI 업데이트를 어떻게 수행합니까?Silverlight에서 여러 비동기 UI 업데이트
예를 들어 사용자가 버튼을 클릭하고 UI를 변경 한 다음 작업을 수행 한 다음 다시 변경하고 싶습니다. 대신 사용자가 버튼을 클릭하면 콜백이 배경과 모든 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";
}
작업이 완료되는 동안 스레드를 휴면 상태로 전환하는 대신 작업 완료 후 이벤트가 시작되도록 할 수 있습니다. 그러면 해당 이벤트의 수신자가 두 번째 UI 변경을 수행합니다. –
@iimpact 수면 통화는 작업을위한 것입니다. 질문은 수면 호출 전에 첫 번째 UI 업데이트가 발생하지 않는 이유는 무엇입니까? – jordanpg