WPF 응용 프로그램에서 특정 시간 간격으로 모든 구성 요소의 UI를 새로 고쳐야합니다. 가장 간단한 방법은 무엇인지 알아야합니다.특정 시간 간격으로 OnPropertyChanged를 늘리는 방법은 무엇입니까?
내 질문 : 어떻게 오름차순 OnPropertyChanged?
더 잘 알고 있습니까?
코드의 샘플을 제공하십시오 덕분에 가능
namespace MyClient.Common
{
public abstract class BindableBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected bool SetProperty<T>(ref T storage, T value, /*[CallerMemberName]*/ String propertyName = null)
{
if (object.Equals(storage, value)) return false;
storage = value;
this.OnPropertyChanged(propertyName);
return true;
}
protected void OnPropertyChanged(/*[CallerMemberName]*/ string propertyName = null)
{
var eventHandler = this.PropertyChanged;
if (eventHandler != null)
{
eventHandler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}
OnPropertyChanged를 호출하기 만하면됩니다. 매개 변수를 전달하지 않으면 모든 매개 변수가 업데이트됩니다. BackgroundWorker ReportPsrogress의 이벤트 처리기에서이 작업을 수행 할 수 있습니다. – Paparazzi
타이머 개체 사용 - http://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.110).aspx. –
Timer + Dispatcher (UI 스레드에서 호출) ... 또는 DispatcherTimer http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.dispatchertimer – Olivier