feat(ModEvent): 支持一个按钮执行多个事件

没给 HelpEntry 加这个功能,其他控件都加了
This commit is contained in:
Open-KFC
2025-04-07 07:01:54 +08:00
parent 16e09c792c
commit cd736be212
9 changed files with 298 additions and 125 deletions
@@ -55,7 +55,7 @@
RaiseEvent Click(sender, e)
e.Handled = True
Button_MouseUp()
ModEvent.TryStartEvent(EventType, EventData)
ModEvent.ProcessCustomEvents(EventType, EventData, _CustomEvents)
End Sub
Public Property EventType As String
Get
@@ -75,6 +75,18 @@
End Set
End Property
Public Shared ReadOnly EventDataProperty As DependencyProperty = DependencyProperty.Register("EventData", GetType(String), GetType(MyIconButton), New PropertyMetadata(Nothing))
Public Property CustomEvents As CustomEventCollection
Get
If _CustomEvents Is Nothing Then
_CustomEvents = New CustomEventCollection
End If
Return _CustomEvents
End Get
Set(value As CustomEventCollection)
_CustomEvents = value
End Set
End Property
Private _CustomEvents As CustomEventCollection = Nothing
'鼠标点击判定(务必放在点击事件之后,以使得 Button_MouseUp 先于 Button_MouseLeave 执行)
Private IsMouseDown As Boolean = False