2009-08-14 6 views
0

Ich habe versucht, wie unter Baugruppe dynamisch aus einer XAP-Datei zu laden:What't Anforderung, eine Instanz der Benutzersteuerung dynamisch zu erstellen?

AssemblyPart asmPart = new AssemblyPart(); 
StreamResourceInfo streamInfo = Application.GetResourceStream(new StreamResourceInfo(xapFileStream, "application/binary"), new Uri(source, UriKind.Relative)); 
Assembly asm = asmPart.Load(streamInfo.Stream); 
FrameworkElement element = asm.CreateInstance(className) as FrameworkElement; 

Sie dann die Benutzersteuerung Mainpage zu laden habe ich versucht. Wenn HauptSeite einfach wie:

Wenn die

namespace TestApp 
{ 
    public partial class MainPage : UserControl 
    { 
     public MainPage() 
     { 
      InitializeComponent(); 
     } 
    } 
} 

Es ist in Ordnung. Aber wenn die MainPage wie folgt lautet:

namespace TestApp 
{ 
    public partial class MainPage : UserControl 
    { 
     private readonly Dictionary<IWorkbenchWidget, TabControlElement> tabs; 


     public MainPage() 
     { 
      InitializeComponent(); 
     base.Loaded += new RoutedEventHandler(myHandler); 
     } 
    } 
} 

Es ist fehlgeschlagen.

Also wollen Sie wissen, wenn Sie Assembly.CreateInstance verwenden, um eine Instanz einer Klasse, eine spezielle Anfrage für die Klasse zu erstellen?

Antwort

0

Das Problem scheint zu sein mit: (wenn Sie es der Kürze halber weggelassen)

base.Loaded += new RoutedEventHandler(myHandler); 

Sie haben nicht einen Ereignishandler namens „myHandler“ definiert in Mainpage.

Verwandte Themen