共用方式為


IXamlDirect.AddEventHandler 方法

定義

多載

AddEventHandler(Object, XamlEventIndex, Object)

使用 XamlEventIndex為指定的事件新增指定的事件處理常式,並將處理常式新增至指定物件的處理常式集合。

本檔適用于 Windows 應用程式 SDK 中適用于 WinUI 的 WinUI 2 for UWP (,請參閱Windows 應用程式 SDK命名空間) 。

AddEventHandler(Object, XamlEventIndex, Object, Boolean)

使用 XamlEventIndex為指定的事件新增指定的事件處理常式,並將處理常式新增至目前 IXamlDirect上的處理常式集合。 將 handledEventsToo 指定為 true,以便叫用提供的處理常式,即使事件是在其他地方處理也一樣。

本檔適用于 Windows 應用程式 SDK 中適用于 WinUI 的 WinUI 2 for UWP (,請參閱Windows 應用程式 SDK命名空間) 。

AddEventHandler(Object, XamlEventIndex, Object)

使用 XamlEventIndex為指定的事件新增指定的事件處理常式,並將處理常式新增至指定物件的處理常式集合。

本檔適用于 Windows 應用程式 SDK 中適用于 WinUI 的 WinUI 2 for UWP (,請參閱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

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

屬性

範例

下列範例示範如何透過ToggleSwitch控制項上的PointerEventHandler特定實例,從其IXamlDirect實例新增/修改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,以便叫用提供的處理常式,即使事件是在其他地方處理也一樣。

本檔適用于 Windows 應用程式 SDK 中適用于 WinUI 的 WinUI 2 for UWP (,請參閱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 旗標會完全忽略。

另請參閱

適用於