XamlDirect.RemoveEventHandler Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Remove o manipulador de eventos especificado deste IXamlDirectObject. Normalmente, o manipulador em questão foi adicionado por 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)
Parâmetros
- xamlDirectObject
- IXamlDirectObject
Uma referência ao IXamlDirectObject atual.
- eventIndex
- XamlEventIndex
Um identificador do evento para remover o identificador para especificado por meio da enumeração XamlEventIndex .
- handler
-
Object
Platform::Object
IInspectable
Uma referência à implementação do manipulador especificado.
Exemplos
O exemplo a seguir mostra como adicionar/modificar e remover o evento PointerEntered por meio de uma instância específica de PointerEventHandler em um controle ToggleSwitch de sua instância IXamlDirectObject .
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);
Comentários
RemoveEventHandler só pode ser usado para remover manipuladores de eventos para os eventos compatíveis com a enumeração XamlEventIndex .
Chamar esse método não terá efeito se não houver manipuladores registrados com critérios que correspondam aos parâmetros de entrada para a chamada de método.
Esse método ignora se o parâmetro handledEventsToo era true na chamada XamlDirect.AddEventHandler que originalmente anexou o manipulador.