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

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

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

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

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

Loading…
Cancel
Save