共用方式為


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

指定處理常式實作的參考。

屬性

範例

下列範例示範如何透過ToggleSwitch控制項上的PointerEventHandler特定實例,從其IXamlDirectObject實例新增/修改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,且參數為選擇性。

屬性

範例

下列範例示範如何透過ToggleSwitch控制項上的PointerEventHandler特定實例,從其IXamlDirectObject實例新增/修改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 旗標。

另請參閱

適用於