Erweiterte Programmierung


Einbindung per XAML-Namespace

Sie können für die Oberfläche, neben den iPlus-Standardsteuerelementen, beliebige WPF-Steuerelemente von verschiedenen Herstellern verwenden (z.b. von Telerik, syncfusion, devexpress). 

Sie benötigen dafür etwas Grundwissen, das Sie sich auf der Microsoft-Seite https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml aneignen können.

Grundsätzlich müssen Sie jdoch nur folgende Schritte beachten:

  1. Ihre Steuerelement-Bibliothek muss sich im Programmverzeichnis der iPlus-Installation befinden
  2. Sie legen ein neues Desgin in Entwicklungsumgebung an bzw. verändern ein bestehendes.
  3. Im ersten XML-Element der XAML-Datei müssen Sie den Namespace bekanntgeben zu dem das Steuerelement gehört welches Sie verwenden wollen.
  4. Das Steuerelement im XAML-Code verwenden indem Sie den Präfix mit einem Doppelpunkt vor dem Steuerelementklassennamen setzen.

Beispiel:

 

Damit eine XAML-Datei geparst werden kann müssen Sie auf jeden Fall die ersten beiden Microsoft-Namespaces bekanntgeben:

  1. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Falls Sie Steuerelemente aus der iPlus-Standard-Steuerlementbibliothek (gip.core.layoutengine) verwenden wollen geben Sie den Namespace xmlns:vb="http://www.iplus-framework.com/ACFramework/xaml"  an.

Steuerelemente für die Prozesstechnik sind in der gip.core.visualcontrols enthalten und sind mit  xmlns:vbv="http://www.iplus-framework.com/ACFramework/visual/xaml" bekanntgegeben.

Um Kurvendiagramme darstellen zu können empfehlen wir Ihnen die gip.core.scichart.dll (xmlns:vbs="http://www.iplus-framework.com/ACFramework/scichart/xaml" ) zu verwenden, welche die Abt.Controls.SciChart.Wpf.dll (xmlns:s="http://schemas.abtsoftware.co.uk/scichart") erweitert.

Welche Präfixe Sie für das Namespace-Mapping verwenden bleibt Ihnen überlassen und sind frei zu vergeben. Wir empfehlen Ihnen jedoch die vorgeschlagenen zu verwenden.

 


Verwenden von Bibliotheken, die keinen XAML-Namespace definiert haben

Normalerweise sind WPF-Bibliotheken mit einem xmlnsdefinitionattribute versehen, um ein Mapping XAML-Namespace auf den CLR-Namespace zu ermöglichen und der XAML-Parser die Steuerelemente finden und instanziieren kann. Fehlt eine solche Definition muss die Angabe des CLR-Namespace direkt über folgende Syntax erfolgen:

xmlns:custom="clr-namespace:SDKSample;assembly=SDKSampleLibrary"

Im Attribut clr-namespace geben Sie den .NET-Namespace an.

Im Attribut assembly muss der Full-Qualified-Assembly-Name angegeben werden.