CanExecuteRoutedEventArgs.CanExecute プロパティ

定義

このイベントに関連付けられている RoutedCommand をコマンド ターゲットに対して実行できるかどうかを示す値を取得または設定します。

public:
 property bool CanExecute { bool get(); void set(bool value); };
public bool CanExecute { get; set; }
member this.CanExecute : bool with get, set
Public Property CanExecute As Boolean

プロパティ値

イベントに関連付けられているコマンドをコマンド ターゲットに対して実行できる場合は true。それ以外の場合は false。 既定値は false です。

次の例では、 CanExecuteRoutedEventHandler コマンド ターゲットがコントロールの場合にのみ true を返す を作成します。 最初に、 Source イベント データが に Controlキャストされます。 が のControlCanExecute場合は にtrue設定され、それ以外の場合は にfalse設定されます。

// CanExecuteRoutedEventHandler that only returns true if
// the source is a control.
private void CanExecuteCustomCommand(object sender, 
    CanExecuteRoutedEventArgs e)
{
    Control target = e.Source as Control;
    
    if(target != null)
    {
        e.CanExecute = true;
    }
    else
    {
        e.CanExecute = false;
    }
}
' CanExecuteRoutedEventHandler that only returns true if
' the source is a control.
Private Sub CanExecuteCustomCommand(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
    Dim target As Control = TryCast(e.Source, Control)

    If target IsNot Nothing Then
        e.CanExecute = True
    Else
        e.CanExecute = False
    End If
End Sub

注釈

や などのMenuItem多くのコマンド ソースは、 が の場合CanExecuteは無効になり、 CanExecutefalse の場合はtrue有効Buttonになります。

適用対象

こちらもご覧ください