سؤال

لدي المستخدم التحكم Button لا بد أن NavigationCommands.RefreshCommand.معالج القيادة في مراقبة الوالدين.المعالج CanExecute يبدو مثل هذا:

e.CanExecute = !IsConnecting; // IsConnecting is a Dependency Property

لسبب ما ، Button ستبقى معطلة حتى أنا النقر على النافذة.

إذا كنت انقر على Button والحصول على تنفيذ (الذي يسبب IsConnecting مؤقتا يتم تعيين إلى true) ومن ثم تعطيل الزر بشكل صحيح ولكن لن تمكين زر حتى أنا سبب آخر حدث في نافذة (على سبيل المثال.نقرة).

هل هناك أي أدوات أو الحيل يمكنني استخدام في محاولة تصحيح CanExecute معالج من الأوامر التي لا بد أن على الزر ؟

هل كانت مفيدة؟

المحلول

الزر CanExecute هو يسمى فقط عندما يحدث شيء في واجهة المستخدم الرسومية.منذ IsConnecting التغييرات في الخلفية ثم WPF لا تحديث عنصر التحكم.

إلى قوة WPF تحديث CanExecute الاتصال CommandManager.InvalidateRequerySuggested

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top