Browse Source

disable support for custom controls in WPF designer, due to http://community.sharpdevelop.net/forums/p/19968/50794.aspx#50794

pull/334/head 4.4.1
Siegfried Pammer 12 years ago
parent
commit
7196a27721
  1. 42
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/MyTypeFinder.cs
  2. 44
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfToolbox.cs
  3. 6
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfViewContent.cs

42
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/MyTypeFinder.cs

@ -22,27 +22,27 @@ namespace ICSharpCode.WpfDesign.AddIn @@ -22,27 +22,27 @@ namespace ICSharpCode.WpfDesign.AddIn
f.file = file;
f.ImportFrom(CreateWpfTypeFinder());
var pc = MyTypeFinder.GetProjectContent(file);
foreach (var referencedProjectContent in pc.ThreadSafeGetReferencedContents()) {
string fileName = null;
try{
if (referencedProjectContent is ParseProjectContent)
{
var prj = ((ParseProjectContent)referencedProjectContent).Project as AbstractProject;
if (prj != null)
fileName = prj.OutputAssemblyFullPath;
}
else if (referencedProjectContent is ReflectionProjectContent)
{
fileName = ((ReflectionProjectContent) referencedProjectContent).AssemblyLocation;
}
var assembly = Assembly.LoadFrom(fileName);
f.RegisterAssembly(assembly);
}
catch (Exception ex) {
ICSharpCode.Core.LoggingService.Warn("Error loading Assembly : "+ (fileName ?? ""), ex);
}
}
// var pc = MyTypeFinder.GetProjectContent(file);
// foreach (var referencedProjectContent in pc.ThreadSafeGetReferencedContents()) {
// string fileName = null;
// try{
// if (referencedProjectContent is ParseProjectContent)
// {
// var prj = ((ParseProjectContent)referencedProjectContent).Project as AbstractProject;
// if (prj != null)
// fileName = prj.OutputAssemblyFullPath;
// }
// else if (referencedProjectContent is ReflectionProjectContent)
// {
// fileName = ((ReflectionProjectContent) referencedProjectContent).AssemblyLocation;
// }
// var assembly = Assembly.LoadFrom(fileName);
// f.RegisterAssembly(assembly);
// }
// catch (Exception ex) {
// ICSharpCode.Core.LoggingService.Warn("Error loading Assembly : "+ (fileName ?? ""), ex);
// }
// }
return f;
}

44
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfToolbox.cs

@ -83,27 +83,29 @@ namespace ICSharpCode.WpfDesign.AddIn @@ -83,27 +83,29 @@ namespace ICSharpCode.WpfDesign.AddIn
{
try
{
var assembly = Assembly.LoadFrom(f);
SideTab sideTab = new SideTab(sideBar, assembly.FullName.Split(new[] {','})[0]);
sideTab.DisplayName = StringParser.Parse(sideTab.Name);
sideTab.CanBeDeleted = false;
sideTab.ChoosedItemChanged += OnChoosedItemChanged;
sideTab.Items.Add(new WpfSideTabItem());
foreach (var t in assembly.GetExportedTypes())
{
if (IsControl(t))
{
sideTab.Items.Add(new WpfSideTabItem(t));
}
}
if (sideTab.Items.Count > 1)
sideBar.Tabs.Add(sideTab);
addedAssemblys.Add(f);
// DO NOT USE Assembly.LoadFrom!!!
// see http://community.sharpdevelop.net/forums/t/19968.aspx
// var assembly = Assembly.LoadFrom(f);
//
// SideTab sideTab = new SideTab(sideBar, assembly.FullName.Split(new[] {','})[0]);
// sideTab.DisplayName = StringParser.Parse(sideTab.Name);
// sideTab.CanBeDeleted = false;
// sideTab.ChoosedItemChanged += OnChoosedItemChanged;
//
// sideTab.Items.Add(new WpfSideTabItem());
//
// foreach (var t in assembly.GetExportedTypes())
// {
// if (IsControl(t))
// {
// sideTab.Items.Add(new WpfSideTabItem(t));
// }
// }
//
// if (sideTab.Items.Count > 1)
// sideBar.Tabs.Add(sideTab);
//
// addedAssemblys.Add(f);
}
catch (Exception ex)
{

6
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfViewContent.cs

@ -39,7 +39,7 @@ namespace ICSharpCode.WpfDesign.AddIn @@ -39,7 +39,7 @@ namespace ICSharpCode.WpfDesign.AddIn
BasicMetadata.Register();
WpfToolbox.Instance.AddProjectDlls(file);
//WpfToolbox.Instance.AddProjectDlls(file);
ProjectService.ProjectItemAdded += ProjectService_ProjectItemAdded;
@ -49,8 +49,8 @@ namespace ICSharpCode.WpfDesign.AddIn @@ -49,8 +49,8 @@ namespace ICSharpCode.WpfDesign.AddIn
void ProjectService_ProjectItemAdded(object sender, ProjectItemEventArgs e)
{
if (e.ProjectItem is ReferenceProjectItem)
WpfToolbox.Instance.AddProjectDlls(this.Files[0]);
// if (e.ProjectItem is ReferenceProjectItem)
// WpfToolbox.Instance.AddProjectDlls(this.Files[0]);
}
static WpfViewContent()

Loading…
Cancel
Save