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 インスタンスから ToggleSwitch コントロールの PointerEventHandler の特定のインスタンスを介して 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 インスタンスから ToggleSwitch コントロールの PointerEventHandler の特定のインスタンスを介して 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 フラグは完全に無視されます。

こちらもご覧ください

適用対象