В приложении WPF мне нужно обновить пользовательский интерфейс для всех компонентов за определенный промежуток времени. Мне нужно было знать, что является самым простым способом.Как повысить 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. –
Таймер + Диспетчер (для вызова потока пользовательского интерфейса) ... или DispatcherTimer http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.dispatchertimer – Olivier