- بله. اینجا یک بررسی نال بودن آیتم انتخاب شده باید قبل از کم و زیاد کردن مقادیر اضافه شود.
- دو breakpoint داخل هر دو متد CanExecute موجود قرار دهید. خواهید دید که به ازای هر بار کلیک بر روی دکمههای متناظر (افزایش یا کاهش)، متد CanExecute مرتبط هم در ابتدا یکبار فراخوانی میشود.
- غیرفعال کردن خودکار دکمه را من در این مثال ابتدایی پیاده سازی نکردم و مرتبط است با EventHandler تعریف شدهای به نام CanExecuteChanged. اگر CanExecuteChanged در متدهای CanExecute صدا زده شود این غیر فعال سازی هم رخ خواهد داد.
این مثال رو بر اساس توضیحات ذکر شده به روز کردم و از اینجا قابل دریافت است:
http://www.box.net/shared/zc27lmyvku
+ کلا در مورد روشهای بهتر Model Validation در قسمت پنجم بیشتر بحث شده است. همچنین در قسمتهای بعد این کلاسهای خام مشتق شده از ICommand با نمونههای بهتر جایگزین میشوند (DelegateCommand و یا RelayCommand).