Я конвертировал следующие коды vb.net по этой ссылке: WPF - предотвратить очереди действий пользователя, когда приложение занято
ViewModel:
Class MainWindow
Private _appIdle As Boolean = True
Private Sub Hooks_OperationStarted(ByVal sender As Object, ByVal e As Windows.Threading.DispatcherHookEventArgs)
ApplicationIdle = False
End Sub
Private Sub Hooks_OperationCompleted(ByVal sender As Object, ByVal e As Windows.Threading.DispatcherHookEventArgs)
ApplicationIdle = True
End Sub
Public Property ApplicationIdle As Boolean
Get
Return _appIdle
End Get
Set(ByVal value As Boolean)
_appIdle = value
RaisePropertyChanged("ApplicationIdle")
End Set
End Property
Public Sub MainWindowViewModel()
Application.Current.Dispatcher.Hooks.OperationStarted += AddressOf Hooks_OperationStarted
Application.Current.Dispatcher.Hooks.OperationCompleted += AddressOf Hooks_OperationCompleted
End Sub
End Class
MainWindow xaml:
IsHitTestVisible="{Binding ApplicationIdle}"
Но я сталкиваюсь с некоторыми ошибками, которые вы видите на этой картинке: https://prnt.sc/nbn55h
Скажите, пожалуйста, как я могу решить эту ошибку?
Ошибка говорит:
RaisePropertyChanged не объявлено.Он может быть недоступен из-за уровня защиты.
Примечание: Я использую .NET 4.5
Поддерживающая ссылка: https://jeremybytes.blogspot.com/2016/01/the-evolution-of-inotifypropertychanged.html