本文整理汇总了C#中IAction.CanExecute方法的典型用法代码示例。如果您正苦于以下问题:C# IAction.CanExecute方法的具体用法?C# IAction.CanExecute怎么用?C# IAction.CanExecute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IAction
的用法示例。
在下文中一共展示了IAction.CanExecute方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RecordAction
/// <summary>
/// Central method to add and execute a new action.
/// </summary>
/// <param name="existingAction">An action to be recorded in the buffer and executed</param>
public void RecordAction(IAction existingAction)
{
if (existingAction == null)
{
throw new ArgumentNullException(
"ActionManager.RecordAction: the existingAction argument is null");
}
// make sure we're not inside an Undo or Redo operation
CheckNotRunningBeforeRecording(existingAction);
// if we don't want to record actions, just run and forget it
if (ExecuteImmediatelyWithoutRecording
&& existingAction.CanExecute())
{
existingAction.Execute();
return;
}
// Check if we're inside a transaction that is being recorded
ITransaction currentTransaction = RecordingTransaction;
if (currentTransaction != null)
{
// if we're inside a transaction, just add the action to the transaction's list
currentTransaction.AccumulatingAction.Add(existingAction);
if (!currentTransaction.IsDelayed)
{
existingAction.Execute();
}
}
else
{
RunActionDirectly(existingAction);
}
}
示例2: RecordAction
public void RecordAction(IAction existingAction)
{
if (existingAction != null)
{
CheckNotRunningBeforeRecording(existingAction);
if (ExecuteImmediatelyWithoutRecording && existingAction.CanExecute())
{
existingAction.Execute();
}
else
{
ITransaction recordingTransaction = RecordingTransaction;
if (recordingTransaction != null)
{
recordingTransaction.AccumulatingAction.Add(existingAction);
if (!recordingTransaction.IsDelayed)
{
existingAction.Execute();
}
}
else
{
RunActionDirectly(existingAction);
}
}
}
}
示例3: RecordAction
public void RecordAction(IAction existingAction)
{
if (existingAction == null)
{
throw new ArgumentNullException(
"ActionManager.RecordAction: the existingAction argument is null");
}
CheckNotRunningBeforeRecording(existingAction);
if (ExecuteImmediatelyWithoutRecording
&& existingAction.CanExecute())
{
existingAction.Execute();
return;
}
ITransaction currentTransaction = RecordingTransaction;
if (currentTransaction != null)
{
currentTransaction.AccumulatingAction.Add(existingAction);
}
else
{
RunActionDirectly(existingAction);
}
}