■ 크로스 스레드(Cross Thread)를 처리하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/// <summary> /// 버튼 갱신하기 대리자 /// </summary> /// <param name="button">버튼</param> /// <param name="content">컨텐트</param> private delegate void UpdateButtonDelegate(Button button, object content); #region 버튼 갱신하기 - UpdateButton(button, content) /// <summary> /// 버튼 갱신하기 /// </summary> /// <param name="button">버튼</param> /// <param name="content">컨텐트</param> private void UpdateButton(Button button, object content) { if(button.CheckAccess()) { button.Content = content; } else { UpdateButtonDelegate updateButtonDelegate = new UpdateButtonDelegate(UpdateButton); button.Dispatcher.BeginInvoke(updateButtonDelegate, button, content); } } #endregion |