XamlDirect.AddEventHandler メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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)
- RemoveEventHandler(IXamlDirectObject, XamlEventIndex, Object)
適用対象
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 フラグは完全に無視されます。
こちらもご覧ください
- AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)
- RemoveEventHandler(IXamlDirectObject, XamlEventIndex, Object)
- AddHandler(RoutedEvent, Object, Boolean)
- RemoveHandler(RoutedEvent, Object)