我有以下課程-
public class Myclass : INotifyPropertyChanged
{
public Action FetchFoo()
{
var ctx = SynchronizationContext.Current;
return() => Task.Factory.StartNew(()=>
{
_isLoading = true;
businesslogic(ctx);
_isLoading = false;
});
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if(handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
private bool _isLoading = false;
public bool IsLoading
{
get{ return _isLoading;}
set
{
_isLoading = value;
OnPropertyChanged("IsLoading");
commandManager.RefreshCommand.CanExecute();
}
}
}
這里的問題是 set 方法永遠不會被呼叫。(雖然它正確設定了 IsLoading 的值)。即使我在這里設定了一個斷點,它也不會出現在 set 方法中。OnPropertyChanged() 方法我想撰寫一些我無法編??寫的業務邏輯。任何人都可以提出一些見解我在這里做錯了什么。謝謝!
uj5u.com熱心網友回復:
具有 setter 的方法是 IsLoading,但您永遠不會呼叫它。你應該使用
IsLoading = true;
代替
_isLoading = true;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/349158.html
下一篇:如果沒有等待最后一個MoveNextAsync()任務,IAsyncEnumerator<T>.DisposeAsync()是否應該拋出?
