IXamlDirect.RemoveEventHandler(Object, XamlEventIndex, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從這個 IXamlDirect移除指定的事件處理常式。
本檔適用于 Windows 應用程式 SDK 中適用于 WinUI 的 WinUI 2 for UWP (,請參閱Windows 應用程式 SDK命名空間) 。
public:
void RemoveEventHandler(Platform::Object ^ xamlDirectObject, XamlEventIndex eventIndex, Platform::Object ^ handler);
void RemoveEventHandler(IInspectable const& xamlDirectObject, XamlEventIndex const& eventIndex, IInspectable const& handler);
public void RemoveEventHandler(object xamlDirectObject, XamlEventIndex eventIndex, object handler);
Public Sub RemoveEventHandler (xamlDirectObject As Object, eventIndex As XamlEventIndex, handler As Object)
參數
- xamlDirectObject
-
Object
Platform::Object
IInspectable
目前 IXamlDirect的參考。
- eventIndex
- XamlEventIndex
要移除透過 XamlEventIndex 列舉指定之 控制碼的事件識別碼。
- handler
-
Object
Platform::Object
IInspectable
指定處理常式實作的參考。
範例
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);
xd.RemoveEventHandler(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);
xd->RemoveEventHandler(toggleSwitch, XamlEventIndex::UIElement_PointerEntered, toggleSwitchPointerHandler);
備註
一般而言,指定的處理常式是由 IXamlDirect.AddEventHandler (System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object,System.Boolean) 所新增。
RemoveEventHandler 只能用來移除 XamlEventIndex 列舉所支援事件的事件處理常式。
如果沒有使用符合方法呼叫之輸入參數的準則註冊處理常式,則呼叫這個方法沒有任何作用。
這個方法會忽略IXamlDirect.AddEventHandler (System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object,System.Boolean) 呼叫原本附加處理常式的handledEventsToo參數是否為 true。