VARCHART XGantt in WPF-Anwendungen
Die Einbettung von XGantt .NET in WPF-Anwendungen
Auf die reichhaltige Funktionalität von XGantt braucht man in WPF-Anwendungen nicht zu verzichten. Microsoft bietet für die Integration von Windows Forms-Steuerelementen in WPF-Windows das WindowsFormsHost-Steuerelement an. Damit kann man die .NET Edition von XGantt auch innerhalb eines WPF-Windows verwenden. Im Folgenden werden zwei alternative Vorgehensweisen skizziert:
Voraussetzung: Hinzufügen der benötigten Referenzen
In beiden Fällen müssen für die Verwendung des WindowsFormsHost-Steuerelements die Referenzen auf WindowsFormsIntegration, System.Windows.Forms und natürlich auf NETRONIC.XGantt hinzugefügt werden.
Alternative 1: Integration über XAML-Code des WPF-Windows (Window1.xaml)
Bei diesem Ansatz wird XGantt innerhalb des XAML-Codes integriert:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
<Grid x:Name="grid1">
Alternative 2: Integration über Code-Behind des WPF-Windows (Window1.xaml.cs)
Bei diesem Ansatz wird XGantt nicht über den XAML-Code sondern durch den Code-Behind in C# integriert. Deshalb beinhaltet der XAML-Code keine Besonderheiten; es handelt sich um die Standardbeschreibung eines WPF-Windows:
<Grid x:Name="grid1" />
Im Code-Behind wird nun das WindowsFormsHost-Objekt angelegt, und diesem wird ein VcGantt-Objekt als Kind hinzugefügt:
using System.Windows.Forms.Integration;using NETRONIC.XGantt;namespace WpfApplication1
{
public partial class Window1 : Window
Konfiguration über die Eigenschaftenseiten
Leider stehen bei beiden Alternativen zur Designzeit nicht die Eigenschaftenseiten von XGantt .NET zur Verfügung. Um dennoch nicht auf deren komfortable Konfigurationsmöglichkeiten verzichten zu müssen, empfehlen wir, innerhalb des Projektes noch eine Windows Form anzulegen. Auf diese Form kann man nun eine weitere XGantt-Instanz platzieren und dort die gewünschten Einstellungen über die Eigenschaftenseiten vornehmen. Die so entstandende Konfiguration kann dann als *.ini-Konfigurationsdatei exportiert und anschließend wieder in das VcGantt-Objekt des WPF-Windows importiert werden:
public Window1()
Natürlich können auf gleiche Weise auch die NETRONIC-Komponenten XNet .NET und XTree .NET in WPF-Applikationen eingebettet werden.
Hilfreiche Links
- MSDN Library: "Walkthrough: Hosting a Windows Forms Control in Windows Presentation Foundation by Using XAML":
http://msdn.microsoft.com/en-us/library/ms742875.aspx - MSDN Library: "Walkthrough: Hosting a Windows Forms Control in Windows Presentation Foundation":
http://msdn.microsoft.com/en-us/library/ms751761.aspx
