Share via


IXamlDirect.AddEventHandler 메서드

정의

오버로드

AddEventHandler(Object, XamlEventIndex, Object)

XamlEventIndex를 사용하여 지정된 이벤트에 대해 지정된 이벤트 처리기를 추가하고 지정된 개체의 처리기 컬렉션에 처리기를 추가합니다.

이 설명서는 UWP용 WinUI 2에 적용됩니다(Windows 앱 SDKWinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

AddEventHandler(Object, XamlEventIndex, Object, Boolean)

XamlEventIndex를 사용하여 지정된 이벤트에 대해 지정된 이벤트 처리기를 추가하고 처리기를 현재 IXamlDirect의 처리기 컬렉션에 추가합니다. 다른 곳에서 이벤트가 처리되는 경우에도 제공된 처리기를 호출하도록 handledEventsToo 를 true로 지정합니다.

이 설명서는 UWP용 WinUI 2에 적용됩니다(Windows 앱 SDKWinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

AddEventHandler(Object, XamlEventIndex, Object)

XamlEventIndex를 사용하여 지정된 이벤트에 대해 지정된 이벤트 처리기를 추가하고 지정된 개체의 처리기 컬렉션에 처리기를 추가합니다.

이 설명서는 UWP용 WinUI 2에 적용됩니다(Windows 앱 SDKWinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

public:
 void AddEventHandler(Platform::Object ^ xamlDirectObject, XamlEventIndex eventIndex, Platform::Object ^ handler);
/// [Windows.Foundation.Metadata.Overload("AddEventHandler2")]
void AddEventHandler(IInspectable const& xamlDirectObject, XamlEventIndex const& eventIndex, IInspectable const& handler);
[Windows.Foundation.Metadata.Overload("AddEventHandler2")]
public void AddEventHandler(object xamlDirectObject, XamlEventIndex eventIndex, object handler);
Public Sub AddEventHandler (xamlDirectObject As Object, eventIndex As XamlEventIndex, handler As Object)

매개 변수

xamlDirectObject
Object

Platform::Object

IInspectable

이벤트 처리기를 수신하는 개체에 대한 참조입니다.

eventIndex
XamlEventIndex

XamlEventIndex 열거형을 통해 지정된 처리할 이벤트의 식별자입니다.

handler
Object

Platform::Object

IInspectable

지정된 처리기 구현에 대한 참조입니다.

특성

예제

다음 예제에서는 IXamlDirect 인스턴스에서 ToggleSwitch 컨트롤에 있는 PointerEventHandler의 특정 인스턴스를 통해 PointerEntered 이벤트를 추가/수정하는 방법을 보여 줍니다.

XamlDirect xd = XamlDirect.GetDefault();

IXamlDirect 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);
XamlDirect^ xd = XamlDirect::GetDefault();

IXamlDirect^ 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);

설명

AddEventHandler는 XamlEventIndex 열거형에서 지원하는 이벤트에 대한 이벤트 처리기를 추가하는 데만 사용할 수 있습니다. 이 메서드를 사용하여 xaml 개체에서 지원하는 라우팅되지 않은 이벤트뿐만 아니라 라우트된 처리기를 추가할 수 있습니다.

추가 정보

적용 대상

AddEventHandler(Object, XamlEventIndex, Object, Boolean)

XamlEventIndex를 사용하여 지정된 이벤트에 대해 지정된 이벤트 처리기를 추가하고 처리기를 현재 IXamlDirect의 처리기 컬렉션에 추가합니다. 다른 곳에서 이벤트가 처리되는 경우에도 제공된 처리기를 호출하도록 handledEventsToo 를 true로 지정합니다.

이 설명서는 UWP용 WinUI 2에 적용됩니다(Windows 앱 SDKWinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

public:
 void AddEventHandler(Platform::Object ^ xamlDirectObject, XamlEventIndex eventIndex, Platform::Object ^ handler, bool handledEventsToo);
/// [Windows.Foundation.Metadata.Overload("AddEventHandler1")]
void AddEventHandler(IInspectable const& xamlDirectObject, XamlEventIndex const& eventIndex, IInspectable const& handler, bool const& handledEventsToo);
[Windows.Foundation.Metadata.Overload("AddEventHandler1")]
public void AddEventHandler(object xamlDirectObject, XamlEventIndex eventIndex, object handler, bool handledEventsToo);
Public Sub AddEventHandler (xamlDirectObject As Object, eventIndex As XamlEventIndex, handler As Object, handledEventsToo As Boolean)

매개 변수

xamlDirectObject
Object

Platform::Object

IInspectable

현재 IXamlDirect에 대한 참조입니다.

eventIndex
XamlEventIndex

XamlEventIndex 열거형을 통해 지정된 처리할 이벤트의 식별자입니다.

handler
Object

Platform::Object

IInspectable

지정된 처리기 구현에 대한 참조입니다.

handledEventsToo
Boolean

bool

true 이면 라우트된 이벤트가 이벤트 데이터에서 처리된 것으로 표시된 경우에도 호출되도록 처리기를 등록합니다.

false 이면 라우트된 이벤트가 이미 처리된 것으로 표시된 경우 호출되지 않을 기본 조건으로 처리기를 등록합니다.

기본값은 false이고 매개 변수는 선택 사항입니다.

특성

예제

XamlDirect xd = XamlDirect.GetDefault();

IXamlDirect 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, true);
XamlDirect^ xd = XamlDirect::GetDefault();

IXamlDirect^ 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, true);

설명

AddEventHandler는 XamlEventIndex 열거형에서 지원하는 이벤트에 대한 이벤트 처리기를 추가하는 데만 사용할 수 있습니다. 이 메서드를 사용하여 xaml 개체에서 지원하는 라우팅되지 않은 이벤트뿐만 아니라 라우트된 처리기를 추가할 수 있습니다.

handledEventsToo를 사용하는 경우 및 동일한 제한 사항을 사용하려면 UIElement.AddHandler를 참조하세요. 라우트되지 않은 이벤트의 경우 handleEventsToo 플래그는 완전히 무시됩니다.

추가 정보

적용 대상