Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataContext IsLoading调用操作_C#_Silverlight_Wcf Ria Services - Fatal编程技术网

C# DataContext IsLoading调用操作

C# DataContext IsLoading调用操作,c#,silverlight,wcf-ria-services,C#,Silverlight,Wcf Ria Services,我想知道是否有任何方法可以订阅一个事件,该事件将告诉我在给定的DomainContext上InvokeOperation是否繁忙。与IsLoading(调用操作时不会触发)完全相同。目前我有: DomainContext.PropertyChanged += (c1, c2) => { IsBusy = (DomainContext.IsLoading && DomainContext.IsSubmit

我想知道是否有任何方法可以订阅一个事件,该事件将告诉我在给定的DomainContext上InvokeOperation是否繁忙。与IsLoading(调用操作时不会触发)完全相同。目前我有:

DomainContext.PropertyChanged += (c1, c2) =>
                {
                    IsBusy = (DomainContext.IsLoading && DomainContext.IsSubmitting);
                };
1) 您提供的代码需要检查更改的属性名称

DomainContext.PropertyChanged += (c1, c2) =>
                {
                  if(c2.PropertyName == "IsLoading" || c2.PropertyName == "IsSubmitting")
                    IsBusy = (DomainContext.IsLoading && DomainContext.IsSubmitting);
                };
2) DomainContext不为调用操作提供标志。但你总是可以自己设定

IsBusy = true;
DomainContext.InvokeMyOperation(c=>
                                    {
                                      //in callback
                                      IsBusy = false;
                                    });

谢谢,我还没有进行检查(c2.PropertyName==“IsLoading”| | c2.PropertyName==“IsSubmitting”),因为我有一个断点,我想看看在我的域上下文中调用了哪些属性。另外,第(2)点是我正在做的,但我不想每次调用某个对象时都设置IsBusy属性,因为这样做可能会导致未在某个位置设置它,或者当抛出异常时,它仍会将IsBusy设置回False如果发生异常,则仍会调用回调,并且您可以取消设置busy标志。为了避免遗忘,您可以将此代码包装到服务类中。谢谢,我希望有一种更简单的方法来完成此操作,我不明白为什么不使用InvokeOperations调用IsLoading属性