我已经实现了一个类,它负责异步加载对象并相应地更改光标,即在UpdateCursor方法中:
static Cursor cursor;
public AsyncLoader(Func<CbT> request, Callback callback, Cursor cursor)
{
this.request = request;
this.callback = callback;
AsyncLoader<CbT>.cursor = cursor;
LatestRequestId = Guid.NewGuid();
UpdateCursor();
...
}
void UpdateCursor()
{
if (LatestRequestId == Guid.Empty)
{
cursor = Cursors.Arrow;
}
else
{
cursor = Cursors.AppStarting;
}
}
在我要使用这个类的类中,我有 Cursor 属性,它实现了 INotifyProperty 并且它绑定到窗口的光标:
private Cursor _CurrentCursor;
public Cursor CurrentCursor
{
get { return _CurrentCursor; }
set
{
if (value != _CurrentCursor)
{
_CurrentCursor = value;
OnPropertyChanged("CurrentCursor");
}
}
}
在视图中:
Cursor="{Binding CurrentCursor}"
问题是,如何将 CurrentCursor 传递给 AsyncLoader,以便在 UpdateCursor 运行时,更改将反映回 CurrentCursor 并触发 PopertyChange 事件?