.net 引发属性更改事件的速度非常慢

.net 引发属性更改事件的速度非常慢,.net,windows-runtime,mvvm-light,winrt-xaml,inotifypropertychanged,.net,Windows Runtime,Mvvm Light,Winrt Xaml,Inotifypropertychanged,我正在使用Windows RT/Windows应用商店应用程序,在我的代码中执行RaisePropertyChanged(“…”)调用时(使用MVVM light框架,如果我要直接实现INotifyPropertyChanged接口,这应该非常类似于标准的OnPropertyChanged,事实上我测试了这两个接口)它非常慢 UI更新发生之前的延迟会有所不同;我引发一个属性更改事件来禁用一个按钮和三个文本框,但是在UI上执行此更新通常需要1.5-2秒。相当令人沮丧。为什么这不是即时的?我的.xa

我正在使用Windows RT/Windows应用商店应用程序,在我的代码中执行
RaisePropertyChanged(“…”)
调用时(使用MVVM light框架,如果我要直接实现
INotifyPropertyChanged
接口,这应该非常类似于标准的
OnPropertyChanged
,事实上我测试了这两个接口)它非常慢

UI更新发生之前的延迟会有所不同;我引发一个属性更改事件来禁用一个按钮和三个文本框,但是在UI上执行此更新通常需要1.5-2秒。相当令人沮丧。为什么这不是即时的?我的
.xaml
视图不是很复杂

在我的按钮上
命令

        SubmitCommand = new RelayCommand<string>(RunSubmitCommand);
        ...
        private async void RunSubmitCommand(string param)
        {
            submitted = true;
            RaisePropertyChanged(() => CanSubmit);
            RaisePropertyChanged(() => CanEnterValues);
        }
文本字段和提交按钮在
.xaml
上看起来像这样:

<TextBox x:Name="TextField1Box" TabIndex="1" Text="{Binding Field1}" 
  IsEnabled="{Binding CanEnterValues}" Style="{StaticResource ValueTextBoxStyle}"
  LostFocus="Field1TextBox_LostFocus" />
... x 2 more

<Button x:Name="SubmitButton" TabIndex="4" Command="{Binding SubmitCommand}"
  Content="Submit Values" IsEnabled="{Binding CanSubmit}" 
  Style="{StaticResource ButtonStyle}" />

... x 2更多
如果您对延期有任何意见,我们将不胜感激


谢谢

您能创建一个小的复制项目来测试它吗?它应该是即时的。是的,我可能会尝试这个,我确实有一个倒计时,从60秒开始倒计时,我想知道更新是否会排队或其他什么\也许它会在等待时阻塞UI线程一秒钟。或者某些动画会导致缓存模式隐式更改为BitmapCache,从而阻止显示更改。抱歉,我一直很忙,明天晚上将尝试执行此操作。
<TextBox x:Name="TextField1Box" TabIndex="1" Text="{Binding Field1}" 
  IsEnabled="{Binding CanEnterValues}" Style="{StaticResource ValueTextBoxStyle}"
  LostFocus="Field1TextBox_LostFocus" />
... x 2 more

<Button x:Name="SubmitButton" TabIndex="4" Command="{Binding SubmitCommand}"
  Content="Submit Values" IsEnabled="{Binding CanSubmit}" 
  Style="{StaticResource ButtonStyle}" />