113 lines
4.0 KiB
C#
113 lines
4.0 KiB
C#
|
|
using Autodesk.Revit.UI;
|
|
|
|
using System;
|
|
using System.Windows;
|
|
|
|
using System.Windows.Controls;
|
|
|
|
namespace Szmedi.RvKits.DisplayTools;
|
|
|
|
/// <summary>
|
|
/// UserControl1.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class ElementsControlDock : Page, IDockablePaneProvider
|
|
{
|
|
//将外部事件定义为属性
|
|
public ExternalEvent IsolateCategoriesExEvent { get; set; }
|
|
public ExternalEvent IsolateElementsExEvent { get; set; }
|
|
public ExternalEvent HideCategoriesExEvent { get; set; }
|
|
public ExternalEvent HideElementsExEvent { get; set; }
|
|
public ExternalEvent RevealHiddenElementsExEvent { get; set; }
|
|
public ExternalEvent ElementsSectionExEvent { get; set; }
|
|
public ExternalEvent PinElementsExEvent { get; set; }
|
|
public ExternalEvent PinCategoriesExEvent { get; set; }
|
|
public ExternalEvent UnpinAllElementsExEvent { get; set; }
|
|
public ExternalEvent UnpinCategoriesExEvent { get; set; }
|
|
|
|
public ElementsControlDock()
|
|
{
|
|
IsolateCategoriesExEvent = ExternalEvent.Create(new IsolateCategoriesHandler());
|
|
IsolateElementsExEvent = ExternalEvent.Create(new IsolateElementsHandler());
|
|
HideCategoriesExEvent = ExternalEvent.Create(new HideCategoriesHandler());
|
|
HideElementsExEvent = ExternalEvent.Create(new HideElementsHandler());
|
|
RevealHiddenElementsExEvent = ExternalEvent.Create(new RevealHiddenHandler());
|
|
ElementsSectionExEvent = ExternalEvent.Create(new ElementsSectionHandler());
|
|
PinElementsExEvent = ExternalEvent.Create(new PinElementsHandler());
|
|
PinCategoriesExEvent = ExternalEvent.Create(new PinCategoriesHandler());
|
|
UnpinCategoriesExEvent = ExternalEvent.Create(new UnpinCategoriesHandler());
|
|
UnpinAllElementsExEvent = ExternalEvent.Create(new UnpinAllElementsHandler());
|
|
//var res = this.TryFindResource();
|
|
//var url = new Uri("pack://application:,,,/Szmedi.RvKits;V2.1.2.0;component/WPFUI.xaml");
|
|
//var dict = new ResourceDictionary();
|
|
//dict.Source = url;
|
|
//Resources.MergedDictionaries.Add(dict);
|
|
//Resources.Source = url;
|
|
//var resources = Resources.Count;
|
|
//var c = Resources.MergedDictionaries.Count;
|
|
//foreach (var dictKey in dict.Keys)
|
|
//{
|
|
// Resources.Add(dictKey, dict[dictKey]);
|
|
//}
|
|
//Resources.MergedDictionaries.Add(new ResourceDictionary
|
|
//{
|
|
// //Source = new Uri("pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml")
|
|
// Source = new Uri("pack://application:,,,/Szmedi.RvKits;v2.2.2.8;component/WPFUI.xaml")
|
|
//});
|
|
InitializeComponent();
|
|
}
|
|
|
|
//初始化可停靠窗口
|
|
public void SetupDockablePane(DockablePaneProviderData data)
|
|
{
|
|
data.FrameworkElement = this;
|
|
|
|
data.InitialState = new DockablePaneState { DockPosition = DockPosition.Left };
|
|
}
|
|
|
|
private void Btn_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
Button btn = (Button)sender;
|
|
if (HideElements == btn)
|
|
{
|
|
HideElementsExEvent.Raise();
|
|
}
|
|
else if (IsolateElements == btn)
|
|
{
|
|
IsolateElementsExEvent.Raise();
|
|
}
|
|
else if (RevealHiddenElements == btn)
|
|
{
|
|
RevealHiddenElementsExEvent.Raise();
|
|
}
|
|
else if (ElementsSection == btn)
|
|
{
|
|
ElementsSectionExEvent.Raise();
|
|
}
|
|
else if (PinElements == btn)
|
|
{
|
|
PinElementsExEvent.Raise();
|
|
}
|
|
else if (PinCategories == btn)
|
|
{
|
|
PinCategoriesExEvent.Raise();
|
|
}
|
|
else if (HideCategories == btn)
|
|
{
|
|
HideCategoriesExEvent.Raise();
|
|
}
|
|
else if (IsolateCategories == btn)
|
|
{
|
|
IsolateCategoriesExEvent.Raise();
|
|
}
|
|
else if (UnpinAllElements == btn)
|
|
{
|
|
UnpinAllElementsExEvent.Raise();
|
|
}
|
|
else if (UnpinCategories == btn)
|
|
{
|
|
UnpinCategoriesExEvent.Raise();
|
|
}
|
|
}
|
|
}
|