Code Cleanup
This commit is contained in:
parent
95766a43c5
commit
ef35c2aee9
41 changed files with 1451 additions and 1818 deletions
|
|
@ -4,34 +4,34 @@ using System.Threading;
|
|||
|
||||
namespace LibationWinForms
|
||||
{
|
||||
public abstract class AsyncNotifyPropertyChanged : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
private int InstanceThreadId { get; } = Thread.CurrentThread.ManagedThreadId;
|
||||
private bool InvokeRequired => Thread.CurrentThread.ManagedThreadId != InstanceThreadId;
|
||||
private SynchronizationContext SyncContext { get; } = SynchronizationContext.Current;
|
||||
public abstract class AsyncNotifyPropertyChanged : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
private int InstanceThreadId { get; } = Thread.CurrentThread.ManagedThreadId;
|
||||
private bool InvokeRequired => Thread.CurrentThread.ManagedThreadId != InstanceThreadId;
|
||||
private SynchronizationContext SyncContext { get; } = SynchronizationContext.Current;
|
||||
|
||||
protected void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
|
||||
{
|
||||
var propertyChangedArgs = new PropertyChangedEventArgs(propertyName);
|
||||
protected void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
|
||||
{
|
||||
var propertyChangedArgs = new PropertyChangedEventArgs(propertyName);
|
||||
|
||||
if (InvokeRequired)
|
||||
{
|
||||
SyncContext.Post(
|
||||
PostPropertyChangedCallback,
|
||||
new AsyncCompletedEventArgs(null, false, propertyChangedArgs));
|
||||
}
|
||||
else
|
||||
{
|
||||
OnPropertyChanged(propertyChangedArgs);
|
||||
}
|
||||
}
|
||||
private void PostPropertyChangedCallback(object asyncArgs)
|
||||
{
|
||||
var e = asyncArgs as AsyncCompletedEventArgs;
|
||||
if (InvokeRequired)
|
||||
{
|
||||
SyncContext.Post(
|
||||
PostPropertyChangedCallback,
|
||||
new AsyncCompletedEventArgs(null, false, propertyChangedArgs));
|
||||
}
|
||||
else
|
||||
{
|
||||
OnPropertyChanged(propertyChangedArgs);
|
||||
}
|
||||
}
|
||||
private void PostPropertyChangedCallback(object asyncArgs)
|
||||
{
|
||||
var e = asyncArgs as AsyncCompletedEventArgs;
|
||||
|
||||
OnPropertyChanged(e.UserState as PropertyChangedEventArgs);
|
||||
}
|
||||
private void OnPropertyChanged(PropertyChangedEventArgs e) => PropertyChanged?.Invoke(this, e);
|
||||
}
|
||||
OnPropertyChanged(e.UserState as PropertyChangedEventArgs);
|
||||
}
|
||||
private void OnPropertyChanged(PropertyChangedEventArgs e) => PropertyChanged?.Invoke(this, e);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue