Mini Kabibi Habibi
Imports Microsoft.VisualBasic
Imports System
Imports System.Windows
Imports DevExpress.Xpf.Bars
Imports DevExpress.Xpf.Core.Native
Imports DevExpress.Xpf.DemoBase
Imports DevExpress.Xpf.Utils
Namespace BarsDemo
Public Class BarsDemoModule
Inherits DemoModule
Public Shared ReadOnly BarManagerProperty As DependencyProperty = DependencyPropertyManager.Register("BarManager", GetType(BarManager), GetType(BarsDemoModule), New FrameworkPropertyMetadata(Nothing))
Public Property Manager() As BarManager
Get
Return CType(GetValue(BarManagerProperty), BarManager)
End Get
Set(ByVal value As BarManager)
SetValue(BarManagerProperty, value)
End Set
End Property
Public Sub New()
AddHandler Loaded, AddressOf OnLoaded
AddHandler Unloaded, AddressOf OnUnloaded
End Sub
Protected Overrides Sub RaiseIsPopupContentInvisibleChanged(ByVal e As DependencyPropertyChangedEventArgs)
MyBase.RaiseIsPopupContentInvisibleChanged(e)
If Manager Is Nothing Then
Return
End If
If (Not CBool(e.NewValue)) Then
BarManagerHelper.ShowFloatingBars(Manager)
Else
BarManagerHelper.HideFloatingBars(Manager)
End If
End Sub
Protected Overridable ReadOnly Property NeedChangeEditorsTheme() As Boolean
Get
Return False
End Get
End Property
Protected Overridable Sub OnLoaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim en As New VisualTreeEnumerator(Me)
Do While en.MoveNext()
Dim manager As BarManager = TryCast(en.Current, BarManager)
If manager IsNot Nothing Then
DemoModuleControl.DemoContent = manager
Me.Manager = manager
Exit Do
End If
Loop
End Sub
Protected Overridable Sub OnUnloaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
End Sub
Protected Overrides Function CanLeave() As Boolean
Return True
End Function
End Class
End Namespace