共用方式為


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

指定處理常式實作的參考。

範例

下列範例示範如何透過ToggleSwitch控制項上的PointerEventHandler特定實例,從其IXamlDirectObject實例新增/修改和移除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。

適用於

另請參閱