canExecute パラメーターを使用して、非常に標準的な MVVM Light RelayCommand を作成します。
() => (customer.Regions.Count > 0)
必要に応じて呼び出すRaiseCanExecuteChanged();
と、canExecute が正しく再評価されません。次に、次のように手動でも呼び出します: var canExecute = myCommand.CanExecute(null);
、それでも間違っています。I do の直後の次のステートメントvar foo = (customer.Regions.Count > 0)
では、正しい結果が返されます。ここで何が起こっているのですか?
コマンド定義:
SaveCustomerRegionsCommand = new RelayCommand(SaveCustomerRegions, () => (customer.Regions.Count > 0));
customer は、クラスがインスタンス化されるときに設定されるプライベート プロパティです。