التصحيح CommandBinding هو CanExecute
-
05-07-2019 - |
سؤال
لدي المستخدم التحكم Button
لا بد أن NavigationCommands.RefreshCommand
.معالج القيادة في مراقبة الوالدين.المعالج CanExecute
يبدو مثل هذا:
e.CanExecute = !IsConnecting; // IsConnecting is a Dependency Property
لسبب ما ، Button
ستبقى معطلة حتى أنا النقر على النافذة.
إذا كنت انقر على Button
والحصول على تنفيذ (الذي يسبب IsConnecting
مؤقتا يتم تعيين إلى true) ومن ثم تعطيل الزر بشكل صحيح ولكن لن تمكين زر حتى أنا سبب آخر حدث في نافذة (على سبيل المثال.نقرة).
هل هناك أي أدوات أو الحيل يمكنني استخدام في محاولة تصحيح CanExecute معالج من الأوامر التي لا بد أن على الزر ؟
المحلول
الزر CanExecute هو يسمى فقط عندما يحدث شيء في واجهة المستخدم الرسومية.منذ IsConnecting التغييرات في الخلفية ثم WPF لا تحديث عنصر التحكم.
إلى قوة WPF تحديث CanExecute الاتصال CommandManager.InvalidateRequerySuggested
لا تنتمي إلى StackOverflow