このトピックでは、無効にする方法を示してアクションを現在にロードされたビジネス・オブジェクト際に、オブジェクト・スペースが変更されています。この目的のために、IObjectSpace.ModifiedChangedのイベントが処理され、そしてActionBase.Enabledプロパティがに基づいて設定されてIObjectSpace.IsModifiedのプロパティ。
このトピックでは、現在の変更が発生するロード操作のビジネス・オブジェクト・スペースを無効にする方法を示しています。この目的を達成するために、プロセスIObjectSpace。修正変更イベント、およびIObjectSpace.IsModified特性に応じて、「オペレーティング根拠」に設定してください。
Note 注意
このトピックで説明するアプローチは、モバイルプラットフォームでサポートされていません。それはあなたのモバイル・アプリケーションでこのシナリオを実装する必要がある場合は、使用してはお問い合わせサポートセンター
このトピックで説明するモバイルプラットフォームのアプローチがサポートされていません。あなたがモバイルアプリケーションでこのプログラムを実施する必要がある場合は、サポートセンターを使用してご連絡ください
。
パブリック クラスViewController1:のViewController { SimpleActionアクション1; パブリックViewController1(){ アクション1 = 新しいのSimpleAction(この、" アクション1 " 、DevExpress.Persistent.Base.PredefinedCategory.View)。 } 保護 オーバーライド ボイドOnActivated(){ 塩基.OnActivated()。 ObjectSpace.ModifiedChanged + = ObjectSpace_ModifiedChanged。 UpdateActionState(); } ボイド ObjectSpace_ModifiedChanged(オブジェクト送信者、のEventArgs電子){ UpdateActionState(); } 保護された 仮想 ボイドUpdateActionState(){ [action1.Enabled " ObjectSpaceIsModified " ] =!ObjectSpace.IsModified; } 保護 オーバーライド ボイドOnDeactivated(){ 塩基.OnDeactivated()。 ObjectSpace.ModifiedChanged - = ObjectSpace_ModifiedChanged。 } }
その結果、アクション1は、現在のビューに保存されていない変更がある場合、UIにグレー表示されます。変更が(例えば、使用してデータストアに保存されるまで、アクションを実行することは不可能である保存アクション)。変更が保存されると、アクション1は、通常の状態に戻ります。
未保存の変更は、現在のビューに存在する場合したがって、操作1は、UIに灰色で示します。あなたは(保存操作を使用して、例えば)データストアへの変更を保存する前に、操作を実行できません。変更内容を保存した後、アクション1は、通常の状態に戻ります。