다음을 통해 공유


XamlDirect.AddEventHandler 메서드

정의

오버로드

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)

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

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object, Boolean)

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

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)

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

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

매개 변수

xamlDirectObject
IXamlDirectObject

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

eventIndex
XamlEventIndex

XamlEventIndex 열거형을 통해 처리할 이벤트에 대한 식별자입니다.

handler
Object

Platform::Object

IInspectable

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

특성

예제

다음 예제에서는 IXamlDirectObject instance ToggleSwitch 컨트롤에서 PointerEventHandler의 특정 instance 통해 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);
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);

설명

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

추가 정보

적용 대상

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object, Boolean)

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

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

매개 변수

xamlDirectObject
IXamlDirectObject

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

eventIndex
XamlEventIndex

XamlEventIndex 열거형을 통해 처리할 이벤트에 대한 식별자입니다.

handler
Object

Platform::Object

IInspectable

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

handledEventsToo
Boolean

bool

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

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

특성

예제

다음 예제에서는 IXamlDirectObject instance ToggleSwitch 컨트롤에서 PointerEventHandler의 특정 instance 통해 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, true);
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, true);

설명

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

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

추가 정보

적용 대상