次の方法で共有


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 フラグは完全に無視されます。

こちらもご覧ください

適用対象