XamlDirect.RemoveEventHandler メソッド

定義

この IXamlDirectObject から指定したイベント ハンドラーを削除します。 通常、問題のハンドラーは XamlDirect.AddEventHandler によって追加されました。

public:
 virtual void RemoveEventHandler(IXamlDirectObject ^ xamlDirectObject, XamlEventIndex eventIndex, Platform::Object ^ handler) = RemoveEventHandler;
void RemoveEventHandler(IXamlDirectObject const& xamlDirectObject, XamlEventIndex const& eventIndex, IInspectable const& handler);
public void RemoveEventHandler(IXamlDirectObject xamlDirectObject, XamlEventIndex eventIndex, object handler);
function removeEventHandler(xamlDirectObject, eventIndex, handler)
Public Sub RemoveEventHandler (xamlDirectObject As IXamlDirectObject, eventIndex As XamlEventIndex, handler As Object)

パラメーター

xamlDirectObject
IXamlDirectObject

現在の IXamlDirectObject への参照。

eventIndex
XamlEventIndex

XamlEventIndex 列挙型で指定された のハンドルを削除するイベントの識別子。

handler
Object

Platform::Object

IInspectable

指定したハンドラー実装への参照。

次の例は、IXamlDirectObject インスタンスから ToggleSwitch コントロールの PointerEventHandler の特定のインスタンスを介して PointerEntered イベントを追加または変更および削除する方法を示しています。

XamlDirect xd = XamlDirect.GetDefault();

IXamlDirectObject toggleSwitch = xd.CreateInstance(XamlTypeIndex.ToggleSwitch);

PointerEventHandler toggleSwitchPointerHandler = new PointerEventHandler((sender, args) =>
{
    if (sender is ToggleSwitch)
    {
        ((ToggleSwitch)sender).IsOn = !((ToggleSwitch)sender).IsOn;
    }
});

xd.AddEventHandler(toggleSwitch, XamlEventIndex.UIElement_PointerEntered, toggleSwitchPointerHandler);
xd.RemoveEventHandler(toggleSwitch, XamlEventIndex.UIElement_PointerEntered, toggleSwitchPointerHandler);
XamlDirect^ xd = XamlDirect::GetDefault();

IXamlDirectObject^ toggleSwitch = xd->CreateInstance(XamlTypeIndex::ToggleSwitch);

PointerEventHandler^ toggleSwitchPointerHandler = ref new PointerEventHandler([&](Platform::Object^ sender, PointerRoutedEventArgs^ args)
{
    ToggleSwitch^ ts = dynamic_cast<ToggleSwitch^>(sender);
    if (nullptr != ts)
    {
        ts->IsOn = !ts->IsOn;
    }
});

xd->AddEventHandler(toggleSwitch, XamlEventIndex::UIElement_PointerEntered, toggleSwitchPointerHandler);
xd->RemoveEventHandler(toggleSwitch, XamlEventIndex::UIElement_PointerEntered, toggleSwitchPointerHandler);

注釈

RemoveEventHandler は、 XamlEventIndex 列挙体でサポートされているイベントのイベント ハンドラーを削除するためにのみ使用できます。

このメソッドの呼び出しは、メソッド呼び出しの入力パラメーターに一致する条件に登録されたハンドラーがない場合は影響しません。

このメソッドは、ハンドラーを最初にアタッチした XamlDirect.AddEventHandler 呼び出しで handledEventsToo パラメーターが true であったかどうかを無視します。

適用対象

こちらもご覧ください