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
指定處理常式實作的參考。
- 屬性
範例
下列範例示範如何透過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)
- 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,且參數為選擇性。
- 屬性
範例
下列範例示範如何透過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 旗標。
另請參閱
- AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)
- RemoveEventHandler(IXamlDirectObject, XamlEventIndex, Object)
- AddHandler(RoutedEvent, Object, Boolean)
- RemoveHandler(RoutedEvent, Object)