Mini Kabibi Habibi
using System;
using System.Windows;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.Core.Native;
using DevExpress.Xpf.DemoBase;
using DevExpress.Xpf.Utils;
namespace BarsDemo {
public class BarsDemoModule : DemoModule {
public static readonly DependencyProperty BarManagerProperty =
DependencyPropertyManager.Register("BarManager", typeof(BarManager), typeof(BarsDemoModule), new FrameworkPropertyMetadata(null));
public BarManager Manager {
get { return (BarManager)GetValue(BarManagerProperty); }
set { SetValue(BarManagerProperty, value); }
}
public BarsDemoModule() {
Loaded += OnLoaded;
Unloaded += OnUnloaded;
}
protected override void RaiseIsPopupContentInvisibleChanged(DependencyPropertyChangedEventArgs e) {
base.RaiseIsPopupContentInvisibleChanged(e);
if(Manager == null) return;
if(!(bool)e.NewValue)
BarManagerHelper.ShowFloatingBars(Manager);
else
BarManagerHelper.HideFloatingBars(Manager);
}
protected virtual bool NeedChangeEditorsTheme { get { return false; } }
protected virtual void OnLoaded(object sender, RoutedEventArgs e) {
VisualTreeEnumerator en = new VisualTreeEnumerator(this);
while(en.MoveNext()) {
BarManager manager = en.Current as BarManager;
if(manager != null) {
DemoModuleControl.DemoContent = manager;
Manager = manager;
break;
}
}
}
protected virtual void OnUnloaded(object sender, RoutedEventArgs e) { }
protected override bool CanLeave() {
return true;
}
}
}