none
VB-UserControls in C# nutzen RRS feed

  • Frage

  • Ich möchte in eine in C# geschriebene WPF-Anwendung ein UserControl einbinden, welches ein Freund von mir in VB mit WinForms geschrieben hat.
    Ist dies möglich? Wenn ja, wie macht man das?
    Mittwoch, 6. Januar 2010 18:25

Antworten

  • Das liegt wahrscheinlich daran dass bei einem Windows.Forms Programm beim Start

    System.Windows.Forms.Application.EnableVisualStyles();

    aufgerufen wird. (Glaube wird im Program.cs File gemacht). Das schaltet die schönen Controls frei.

    Du musst also noch irgendwo in deiner WPF Applikation diesen Aufruf einbauen.

    Hope that helps.
    Samstag, 9. Januar 2010 21:24

Alle Antworten

  • Hallo WPF-Fan,

    das machst du mit dem WindowsFormsHost Control. Es ist egal ob es mit VB.Net oder C# geschrieben ist.

    Eine Anleitung dazu habe ich auch gefunden.

    http://msdn.microsoft.com/en-us/library/bb514615.aspx

    Natürlich gibt es auch Nachteile, die Applikation verbraucht mehr Speicher weil WPF und WinForms geladen wird. Falls es nicht zu aufwendig ist sollte das UserControl in WPF nachgebaut werden.

    Hope that helps.
    Mittwoch, 6. Januar 2010 20:41
  • Danke! Das hat funktioniert.
    Es gibt da nur noch ein Problem: Das Control wird mit völlig veralteter Grafik dargestellt.
    Samstag, 9. Januar 2010 20:27
  • Das liegt wahrscheinlich daran dass bei einem Windows.Forms Programm beim Start

    System.Windows.Forms.Application.EnableVisualStyles();

    aufgerufen wird. (Glaube wird im Program.cs File gemacht). Das schaltet die schönen Controls frei.

    Du musst also noch irgendwo in deiner WPF Applikation diesen Aufruf einbauen.

    Hope that helps.
    Samstag, 9. Januar 2010 21:24
  • Danke! Aus das hat funktioniert.
    Jetzt müssen wir es nur noch hin bekommen, dass die Icons in der lIstView schöner angezeigt werden ...m
    Sonntag, 10. Januar 2010 20:10