Beschreibung der Steuerelemente

Die meisten der in der POS-Anwendung verwendeten Steuerelemente stammen aus dem Namespace Comarch.POS.Presentation.Core.Controls. Die Ausnahme ist zum Beispiel TextBlock, das kein POS-Äquivalent hat, daher wird das Standard-Steuerelement, das von der .NET-Plattform bereitgestellt wird, verwendet. Einige spezielle Steuerelemente, die für bestimmte Geschäftsanforderungen erstellt wurden, befinden sich in Modulen wie Comarch.POS.Presentation.Products, Comarch.POS.Presentation.Customers, Comarch.POS.Presentation.Sales. Im Folgenden werden nur ausgewählte Komponenten beschrieben.

TextBlock

Ein der grundlegenden Steuerelemente für die Darstellung von Text. Es stammt vom Namespace System.Windows.Controls.

SlideTextBlock

TextBlock-Steuerelement mit einem Animationseffekt von Fließext, der in und aus dem Bildschirm rutscht. Jedes Mal, wenn ein Wert in die Text-Eigenschaft eingegeben wird, wird dieser Text mit dem Animationseffekt angezeigt. Wenn ein anderer Text zuvor eingegeben wurde, verschwindet dieser gleichzeitig mit dem genannten Animationseffekt. Dieses Steuerelement wird z. B. auf dem Dashboard verwendet, um den Fortschritt beim Starten einer Anwendung anzuzeigen.

Mögliche Konfigurationsoptionen des Steuerelements:

SlideInDuration : double – bestimmt, wie lange der Text in den Bildschirm hineinrutschen soll, in Millisekunden. Der Vorschlagswert ist 500.

SlideOutDuration : double – bestimmt, wie lange der Text aus dem Bildschirm herausrutschen soll, in Millisekunden. Der Vorschlagswert ist 500.

SlideInLength : int – bestimmt, wie weit der Text in der Animation rutschen soll, wenn der Text angezeigt wird. Der Vorschlagswert ist 400.

SlideOutLength : int – bestimmt, wie weit der Text in der Animation rutschen soll, wenn der Text verschwindet. Der Vorschlagswert ist 500.

TextBox

Mit dem Steuerelement kann ein Benutzer einen Text eingeben.

Ausgewählte Eigenschaften:

Hint : string – ein Hinweis, der Text, der im Steuerelement angezeigt wird, wenn das Steuerelement nicht vom Benutzer ausgefüllt wird. Der Text wird in der von HintForeground bestimmten Farbe dargestellt. Der Hinweis kann in einem von zwei Modi angezeigt werden, die in der Konfigurationsdatei der Anwendung unter dem Schlüssel ClearHintOnFocus konfiguriert werden können. In der Standardeinstellung false wird der Hinweistext ausgeblendet, wenn der Benutzer mit der Eingabe von Zeichen beginnt, oder true, sobald der Cursor im Steuerelement ausgewählt wird.

HintForeground : Brush – Hinweistextfarbe

NumericTextBox

TextBox-Steuerelement, in das nur numerische Werte eingegeben werden können.

Ausgewählte Eigenschaften:

AllowOnlyPositiveValues : bool –  Flag, um zu kontrollieren, ob die Eingabe von negativen Werten erlaubt wird

ValueType : ValueType – Parameter bestimmt, ob nur Gesamtwerte zulässig sind

Precision : int – Precision für Gleitkommawerte

MinValue i MaxValue : object – es kann ein Bereich zulässiger Werte definiert werden

IsDefaultNullValue : bool – Parameter, um ein Feld leer zu lassen

PasswordBox

Ein Steuerelement, das die sichere Eingabe von Text ermöglicht, ohne dass die eingegebenen Zeichen in der Schnittstelle angezeigt werden.

 

Button (CancelButton, AcceptButton usw.)

Diese Schaltfläche ist ein der grundlegenden Steuerelemente, die eine Interaktion mit dem Benutzer ermöglichen. Damit kann eine bestimmte Aktion durchgeführt werden, wenn der Benutzer auf dieses Element klickt. Standardmäßig sehen die Schaltflächen wie verschiedenfarbige Quadrate aus (weil sie tatsächlich 90×80 sind). Jede Schaltfläche kann einen beliebigen Text zur Beschreibung der Aktion, eine Tastenkombination (mit der die Aktion ohne Klicken ausgelöst werden kann) und ein Symbol (in einem Vektor- oder Grafikdateiformat, z. B. png) enthalten.

Alle verfügbaren Schaltflächeneigenschaften (z. B. Farbe, Text, Abmessungen usw.) können frei festgelegt werden, aber zur Vereinfachung wurden solche Schaltflächen wie CancelButton und SaveButton bereits mit vordefinierten Farben erstellt, damit Sie sie nicht jedes Mal neu festlegen müssen. Es ist ähnlich bei dem Text der Schaltfläche, einer Tastenkombination und einem Icon. Alle verfügbaren Varianten der Schaltfläche werden im Namespace Comarch.POS.Presentation.Core.Controls.Buttons eingefügt.

Ausgewählte wichtigere Eigenschaften:

Content : object – der Inhalt wurde innerhalb der Schaltfläche dargestellt, im Prinzip ein Text

Orientation : Orientation – Orientation des Texts und Icons. Standardmäßig vertikal (Vertical) – der Text befindet sich unter dem Icon. Bei horizontaler Orientation befindet sich das Icon links und der Text rechts.

Width: double – Breite der Schaltfläche, standardmäßig 80

Height : double – Höhe der Schaltfläche, standardmäßig 90

Margin : Thickness – Rand der Schaltfläche

InactiveVisibility : Visibility – Sichtbarkeit der Schaltfläche, wenn sie inaktiv ist, wenn IsEnabled=false (z. B. wenn beim Aktivieren der Aktion false zurückgegeben wird)

Command : ICommand – Aktion ist ein Befehl, die am häufigsten verwendete Binding für den DelegateCommand

DisabledState : Brush – Farbe der sichtbaren Schaltfläche, wenn sie inaktiv ist

ImageKey : ImageKey – Einstellung von graphischen (PngValue) oder Vektoricons (SvgValue), die im momentan ausgewählten Modus verfügbar sind

ImageWidth : double – Breite des Icons

ImageHeight : double – Höhe des Icons

IsImageVisible : bool – Sichtbarkeit des Icons

ImageMargin : Thickness – Rand des Icons

ContentVisibility : Visibility – Sichtbarkeit des Texts

IsScaleContent : bool – Skalieren des Texts, der in die Schaltfläche nicht passt, standardmäßig false

Shortcut : Shortcut – Tastenkombination zum Ersetzen eines Klicks

IsShortcutVisibile : bool – Sichtbarkeit eines Shortcuts

ChechBox

Eine CheckBox ist ein Steuerelement, das es dem Benutzer ermöglicht, einen von zwei logischen Zuständen auszuwählen. Wird in Form einer Schaltfläche dargestellt, deren Farbe sich je nach gewähltem Zustand ändert.

Ausgewählte Eigenschaften:

IsChecked : bool – aktueller logischer Zustand, true – gedrückt, false – nicht gedrückt

CheckedStateBackground : Brush – Hintergrundfarbe gedrückter Schaltfläche

CheckedStateForeground: Brush – Textfarbe gedrückter Schaltfläche

DisabledStateBackground : Brush – Hintergrundfarbe der Schaltfläche, wenn sie inaktiv ist, wenn IsEnabled=false ist

CheckedStateForeground: Brush – Textfarbe der Schaltfläche, wenn sie inaktiv ist, wenn IsEnabled=false ist

Sie hat die meisten Eigenschaften des Button-Steuerelements.

SwitchBox

Dieses Steuerelement basiert auf einem CheckBox-Steuerelement und unterscheidet sich in erster Linie durch die Darstellungsmethode. Sie kann, genauso wie eine CheckBox, einen von zwei Zuständen akzeptieren (true – markiert/aktiviert, false – nicht markiert/deaktiviert). Im Aussehen ähnelt es einem Schalter, der durch eine Beschreibung der Aktion ergänzt werden kann, die eine Änderung des Zustands durchführt.

Ausgewählte Eigenschaften:

SwitchOffContent : object – Inhalt, der dargestellt wird, wenn der Schalter als false markiert wird

SwitchOnContent : object – Inhalt, der dargestellt wird, wenn der Schalter als true markiert wird

Content: object – Inhalt, der beschreibt, wofür der Schalter verwendet wird (wozu es dient)

IsChecked : bool – Zustand des Schalters, eingeschaltet – true, ausgeschaltet – false

Sie hat die meisten Eigenschaften des ChechBox-Steuerelements.

NullableSwitchBox

Dieses Steuerelement basiert auf einem SwitchBox-Steuerelement. Der Unterschied besteht darin, dass die Darstellung des Steuerelements anders ist und dass es über drei Zustände verfügt (<null> – keine Schaltfläche ist ausgewählt, <true> – rechte Schaltfläche ausgewählt, <false> – linke Schaltfläche ausgewählt). Der undefinierte Zustand <null> kann nur der Anfangszustand sein (sofern nicht anders festgelegt wurde), Sie können nach dem Wechsel in einen anderen Zustand nicht mehr in den undefinierten Zustand zurückkehren. Im Aussehen ähnelt es einer Pille, die durch eine Beschreibung der Aktion ergänzt werden kann, die eine Änderung des Zustands durchführt.

Ausgewählte Eigenschaften:

SwitchOffContent : object – Inhalt wird in der linken Schaltfläche angezeigt (die Auswahl dieser Schaltfläche entspricht dem Übergang in den Status < false>) (Standardwert: Nein)

SwitchOffContent : object – Inhalt wird in der linken Schaltfläche angezeigt (die Auswahl dieser Schaltfläche entspricht dem Übergang in den Status < true) (Standardwert: True)

Content: object – Inhalt, der beschreibt, wofür der Schalter verwendet wird (wozu es dient)

IsChecked: bool? – Schalterstatus (Standardwert : <null> dh. keine Taste ist ausgewählt)

Sie hat die meisten Eigenschaften des ChechBox-Steuerelements.

RadioButton

Dieses Steuerelement ähnelst sich einem ChechBox-Steuerelement. Der Unterschied besteht darin, dass bei der Definition mehrerer RadioButtons, denen ein gemeinsamer GroupName gegeben wird, jeweils nur eine der gesamten Gruppe ausgewählt werden kann.

Ausgewählte Eigenschaften:

IsChecked : bool – Informiert darüber, ob das Steuerelement markiert wird, true – markiert, fals – nicht markiert

CanUndoSelection : bool – kann deaktiviert werden (Einstellung IsChecked=false) durch erneutes Anklicken des Steuerelements

ComboBox

Mit dem Steuerelement kann ein Benutzer eine Reihe von mehreren Optionen auswählen, die in der Dropdown-Liste zur Verfügung stehen. Es sieht wir ein TextBox-Steuerelement mit einem zusätzlichen Icon, mit dem die Dropdown-List mit Optionen zur Auswahl angezeigt werden.

Ausgewählte Eigenschaften:

Hint : string – ein Hinweis wird angezeigt, wenn kein Wert aus der Dropdown-Liste ausgewählt wurde.

HintForeground : Brush – Hinweistextfarbe

PopupBackground : Brush – Hintergrundfarbe der Drop-Down-Liste

ItemsSource : IEnumerable – Optionen zur Auswahl

SelectedItem : object – ausgewählte Option.

ComboBox2

Ein erweitertes Gegenstück zum ComboBox-Steuerelement, das die zu wählende Option nicht als einfaches Popup, sondern als modales Fenster darstellt. In diesem Fenster werden die Optionen standardmäßig in Form einer Liste von RadioButtons dargestellt, es ist jedoch auch möglich, vollständig benutzerdefinierte Inhalte zu erstellen.

Das Steuerelement besteht aus zwei Teilen:

  • ein Element, das die ausgewählte Option präsentiert (in Form eines TextBlocks mit einer Beschreibung und einer Schaltfläche in benutzerdefinierter Größe darunter)
  • modales Fenster mit Liste von Optionen (standardmäßig eine Liste von RadioButtons)

Ausgewählte Eigenschaften:

Source : IComboBoxSource – erforderliche Eigenschaft, Datenquelle – für das standardmäßige Modal View verwenden Sie den Typ ComboBoxSource<T>, wobei T der Datentyp der auszuwählenden Option ist

Label : string – der Text, der über die Schaltfläche des Steuerelements präsentiert wird.

LabelFontSize : double – Schriftgröße für das Label

LabelFontWeight : FontWeight – Strichstärke für das Label.

LabelFontStyle : FontStyle– Schriftart für das Label.

FontSize : double – Schriftgröße des Texts innerhalb der Schaltfläche

FontWeight : FontWeight – Strichstärke des Texts innerhalb der Schaltfläche

FontStyle : FontStyle – Schriftart des Texts innerhalb der Schaltfläche

Es ist nicht möglich, den Hintergrund des gesamten Steuerelements, die Farbe des Textes und den Hintergrund der Schaltfläche direkt zu ändern. Es hängt von den gewählten Grundfarben des Designs ab.

Mehr Details in Beispiele für Verwendung des ComboBox2-Steuerelements.

TileButton

Das Steuerelement ist in Prinzip ein Button mit anderer Größe als die Schaltfläche. Es erbt von der Button-Klasse und enthält daher alle Eigenschaften, die eine Schaltfläche hat. Sie wird vor allem im Dashboard verwendet. Mit einer geeigneten Methode zur Registrierung von Ansichten im Dashboard ist es nicht erforderlich, dieses Steuerelement dort manuell anzulegen.

ButtonSpinner

Wenn dieses Steuerelement mit einem darin platzierten Steuerelement vom Typ Input(z. B. i.d.R. TextBox) kombiniert wird, werden zwei zusätzliche Schaltflächen (+ und -) hinzugefügt. Jedes Mal, wenn eine dieser Tasten gedrückt wird, wird ein Spin-Event ausgelöst. Sie kann dazu verwendet werden, den Inhalt des internen Steuerelements zu steuern.

Ausgewählte Eigenschaften:

Spin : EventHandler<ButtonSpinnerArgs> – Ereignis, das durch Klicken auf eine der Schaltflächen des ButtonSpinners (+ oder -) ausgelöst wird.

Mehr Details in Beispiele für Verwendung des ButtonSpinner-Steuerelements.

ComboBoxButton

Dieses Steuerelement ist eine Erweiterung des zuvor beschriebenen ComboBox-Steuerelements. Es ähnelt sich jedoch mehr dem Button. Mit dem Steuerelement kann eine Schaltfläche in Form eines Icons dargestellt werden, das beim Anklicken eine definierte Liste von Aktionen aufruft. Die Elemente der Liste werden mit ComboBoxItem-Elementen angegeben. Ein Beispiel für die Verwendung ist das Statusmenü:

Ausgewählte Eigenschaften:

LabelContent : object – zusätzliche Option; klickbarer Inhalt links vom Symbol.

ImageSource : Canvas – Icon der Schaltfläche als Vektorgrafik

SelectedItem : object – ausgewählte Option aus  der Liste der Aktionen.

SelectedIndex : int – Index der ausgewählten Option aus der Liste der Aktionen.

Mehr Details in Beispiele für Verwendung des ComboBoxButton-Steuerelements.

MultiButton

Mit diesem Steuerelement lassen sich mehrere Schaltflächen zu einer einzigen aggregieren. Durch das Anklicken auf die Hauptschaltfläche erscheint ein Popup mit einer vollständigen Liste von Schaltflächen. Wenn nur eine Schaltfläche in der Liste vorhanden ist, wird das Popup-Fenster nicht angezeigt, sondern die Aktion wird sofort ausgeführt. Aggregierte Schaltflächen können auch vollständig in der Anwendung verwaltet werden, zusammen mit der Möglichkeit, sie neu anzuordnen und auszublenden (sie sind in einen verwaltbaren Container eingebettet).

Ausgewählte Eigenschaften:

SubButtons : List<Button> – deifnierte Liste der aggregierten Schaltflächen.

Mehr Details in Beispiele für Verwendung des MultiButton-Steuerelements.

ItemsContainer

Dieses Steuerelement basiert auf dem .net ItemsControl, d.h. es ermöglicht die geordnete Platzierung anderer Steuerelemente darin, meist in Form von vertikal oder horizontal angeordneten Elementen. Es wurde mit Mechanismen zur dynamischen Verwaltung des definierten Inhalts während der Laufzeit der Anwendung angereichert. Im Standardbetrieb stellt das Steuerelement den Inhalt in der in xaml festgelegten Reihenfolge dar. Diese Reihenfolge sowie die Sichtbarkeit der vordefinierten Komponenten können während der Ausführung der Anwendung geändert werden (dies kann von einem normalen Benutzer durchgeführt werden), indem ein speziell entwickeltes Panel zur Verwaltung der Anwendungsansichten verwendet wird. Diese Änderungen werden im aktuell ausgewählten Design gespeichert (aber nicht im Default-Design). Die Steuerung der Verwaltbarkeit der Komponenten erfolgt durch die Definition einer LayoutId-Eigenschaft für das in der Ansicht verwendete Steuerelement und für jedes darin definierte Element. Anders gesagt: damit ein Steuerelement verwaltet werden kann, müssen sowohl für das Steuerelement, als auch für seine Komponenten eindeutige IDs definiert sein. Bei den Komponenten kann es sich im Grunde um jedes beliebige Steuerelement handeln, in der Regel jedoch nur um einen Typ, z. B. eine Liste von Schaltflächen. Die Elemente können in xaml oder im Code definiert werden, aber ohne Verwendung von Bindung, einfach durch Hinzufügen zur Sammlung mit der AddItem-Steuerelementmethode.

Ausgewählte Eigenschaften:

AutoWrapButtons : bool – steuert die Fähigkeit, Schaltflächen innerhalb des Containers automatisch einzuklappen, wenn kein Platz mehr für sie vorhanden ist, und sie durch eine Schaltfläche vom Typ MultiButton „Mehr” zu ersetzen (die zusätzlichen Schaltflächen werden in PopUp eingeblendet). Außerdem können Sie bei jedem Button-Steuerelement bestimmen, ob die Schaltfläche minimiert werden kann (mithilfe der ItemsContainer.NoWrapButton-Eigenschaft oder direkt in der POS-Ansicht-Verwaltung, auf der Registerkarte Allgemein-> nicht aggregieren).

Orientation : Orientation – Position der Bestandselementen, horizontal oder vertikal.

ItemsContainer und MoreMultiButton:

Wenn Sie die Größe des Itemscontainers haben und er nur Button-Steuerelemente enthält und Sie noch mehr Steuerelemente einfügen, als der Container passen kann, wird dem Itemscontainer bei den Standardeinstellungen (AutoWrappButtons=true) ein zusätzliches MoreMultiButton-Steuerelement hinzugefügt, in das nicht benachbarte Schaltflächen eingefügt werden.

Wenn der verfügbare Platz nicht ausreicht, um auch nur ein Steuerelement hinzuzufügen, wird ein MoreMultiButton nicht angezeigt (d.h. es wird nichts angezeigt). Sie können dann die AlwaysShowMultiButton=True-Flagge verwenden, die immer einen MoreMultiButton mit einer Größe hinzufügt, die dem gesamten verfügbaren Platz entspricht.

Es ist zu beachten, dass die Steuerelemente: CloseButten (Schaltfläche „Schließen“), SearchButton (Schaltfläche beim Suchen) standardmäßig über die Flagge controls:ItemsContainer.NoWrapButton=True verfügen, also werden nicht aggreggiert. Wenn nur ein Steuerelement in ItemsContainer passt, handelt es sich dann um ein nicht aggregiertes Steuerelement, was dazu führt, dass die Schaltfläche MoreMultiButton nicht angezeigt wird.

Es ist möglich, bestimmte Eigenschaften für den automatisch erzeugten MoreMultIButton einzustellen. Weitere Details finden Sie unter Liste unterstützten Elemente.

Mehr Details in Beispiele für Verwendung des ItemsContainer-Steuerelements und Elemente im ItemsContainer verwalten

Grid

Dies ist das zweite sehr wichtige Steuerelement in Hinblick auf das Layoutverwaltung. Es ermöglicht die freie Gestaltung der Ansicht mit Spalten und Zeilen, in denen weitere Elemente platziert werden. Ähnlich wie ItemsContainer ermöglicht es die dynamische Verwaltung seiner Elemente durch den Benutzer, während die Anwendung läuft. Elemente, die in einem Grid definiert sind, können aus diesem entfernt, zwischen den Zellen (die aus den Spalten und Zeilen gebildet werden) des Grids verschoben und sogar in ItemsContainers und andere Grids verschoben werden (sofern diese zuvor ebenfalls im Grid definiert wurden). Es wird empfohlen, auf der Grundlage dieses Steuerelements vollständig verwaltbare Ansichten zu erstellen. In der xaml-Ansicht selbst wird dieses Steuerelement zu Beginn hinzugefügt, und dann werden alle anderen Steuerelemente, die für die Erstellung der Ansicht erforderlich sind, darin definiert. Die Ansicht selbst wird nicht mehr in xaml erstellt, sondern direkt im View-Verwaltung-Panel in der Anwendung, und die gesamte View-Definition (Layout der Elemente) wird im Design gespeichert.

Ausgewählte Eigenschaften:

ColumnDefinition : string – definiert die Anzahl und Größe der Spalten nach der Formel: k1,k2,k3,…kx, wobei k1, k2, k3, … kx – Werte, die aufeinanderfolgende Spalten definieren, mögliche Werte:

* – Spaltenbreite proportional zur Anzahl der Spalten anpassen. Er kann in Verbindung mit einer Zahl verwendet werden, um andere Einteilungsverhältnisse anzugeben, z. B. 2*

Auto – Breite der Spalte automatisch anpassen, so viel wie das Element in der Mitte benötigt,

[Zahl] – gewünschte Spaltenbreite festlegen, z. B. 100

Beispiel für die Definition eines Grids mit drei Spalten, die erste mit einer Breite von 150, die zweite so breit, wie das Element in der Mitte benötigt, die dritte nimmt den gesamten Rest des verfügbaren Platzes ein:

ColumnDefinition=”150,Auto,*”

 

RowDefinition : string – definiert die Anzahl und Größe der Zeilen nach der gleichen Formel wie bei der Spaltendefinition,

 

Um festzulegen, in welcher Spalte und Zeile das im Grid definierte Element platziert werden soll, muss die Eigenschaft Grid.Position gesetzt werden. Wenn sich das Grid-Element beispielsweise in der dritten Spalte und der zweiten Zeile befinden soll, schreiben Sie: Grid.Position=”1,2,1,1” (1 – zweite Zeile, 2 – dritte Spalte, 1,1 – das Element wird eine Zeile und eine Spalte umfassen).

Mehr Details in: Beispiele für Verwendung des Grid-Steuerelements  und Elemente im Grid Container verwalten

Tooltip

Das Steuerelement ermöglicht die Anzeige zusätzlicher Informationen (z. B. detaillierte Beschreibungen der Felder) im Popup-Format, wenn der Mauszeiger über einen vordefinierten Bereich (Caption) bewegt wird. Die Angaben können einen Titel (Title) und einen Inhalt (Content) enthalten.

Ausgewählte Eigenschaften:

Caption : object – beliebiger Inhalt (z. B. Text oder andere Steuerelemente), der angezeigt wird, wenn der Mauszeiger über die Schaltfläche fährt

Title : string – Tooltip-Titel, der im Popup angezeigt wird.

Content : string – der im Popup dargestellte Inhalt

TabControl und TabControlItem

Diese Steuerelemente ermöglichen die Darstellung von Daten in Form von Registerkarten. In Kombination mit einem Grid-Steuerelement kann eine Ansicht mit mehreren TabControls (Containers für Registerkarten) und mehreren Registerkarten (TabControlItem) aufgebaut werden, zwischen denen der Benutzer im View-Verwaltungspanel frei wechseln kann. Ein gutes Beispiel für die Verwendung von Registerkarten ist die Ansicht der Kundendetails. Sie besteht aus vier TabControls, die es ermöglichen, Registerkarten wie Adressen, Attribute, Statistiken und Kontaktpersonen in einem beliebigen TabControl-Container zu präsentieren.

Jeder Container kann in zwei Bereiche unterteilt werden. RadioButtons Listenbereich, der das Umschalten zwischen aktiven Registerkarten ermöglicht. Wenn ein TabControl nur ein TabControlItem hat, wird dieser Bereich nicht angezeigt (außer dem Verwaltungsmodus). Inhaltsbereich zur Darstellung des Inhalts der gerade aktiven Registerkarte. Das Standardlayout der Bereiche (Inhalt oben, Schaltflächen unten) kann nach Belieben geändert werden.

Ausgewählte Eigenschaften von TabControlItem:

TabContent : object – Definition des Inhalts der Registerkarte

Source : TabControlItemSource – Quelle der Daten für die Definition des Inhalts der Registerkarte. Wenn es nicht standardmäßig eingestellt wird, ist die Datenquelle der DataContext des TabControls, d.h. das View Model.

Die TabControlItemSource-Klasse ist eine abstrakte Klasse, die nur zwei Eigenschaften zur Steuerung der Registerkarten bereitstellt. Die IsLoaded-Flagge, die auf true gesetzt werden muss, wenn die Daten geladen werden, und die IsDesignMode-Flagge, die im Design View des Modells auf true gesetzt wird, wodurch die Registerkarte in den Verwaltungsmodus umgeschaltet wird.

Mehr Details in: Beispiele für Verwendung der TabControl- und TabControlItem-Steuerelemente

ScrollViewer

Ein Steuerelement zum Scrollen von Inhalten, die nicht in die Ansicht passen. Es funktioniert nur im horizontalen Scrollen, das standardmäßig so eingestellt ist. Um den vertikalen Modus zu verwenden, muss ein Steuerelement aus dem .NET-Bereich (System.Windows.Controls.ScrollViewer) verwendet werden.

FieldControl und Validierung

Das Feldsteuerelement (FieldControl) wird für Formularfelder verwendet. Es ermöglicht es, die Funktionalität des Validierungssteuerelements über die Verwaltung der Benutzeroberfläche zu erhalten (LayoutId muss auf dem Steuerelement definiert werden). Damit entfällt die Notwendigkeit, die Feldbeschreibung mit TextBlock/Label zu definieren.

Wenn Sie z. B. ein Textfeld in die Ansicht einfügen möchten, das der Benutzer ausfüllen muss, fügen Sie es in die xaml-Ansichtsdatei folgende Zeile ein:

<controls:FieldControl core:Layout.Id="OrdersViewTextField1"
                                   Source="{Binding Field1}"
                                   LabelText=“Textfeldbeschreibung:">
 
     <controls:TextBox core:Layout.Id="FieldTestsViewTextBox2" 
            Text="{Binding Field1.Data, 
            UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"/> 
</controls:FieldControl>

Der Source-Eigenschaft eines FieldControls muss ein Wert vom Typ FieldSourceBase zugewiesen werden. Dies ist eine abstrakte Klasse, verwenden Sie also eine der untergeordneten Klassen FieldSource<T>, FieldSourceCollection<T> oder erstellen Sie bei Bedarf eine eigene Implementierung auf der Grundlage der FieldSourceBase-Klasse.

Die generische Klasse FieldSource<T> speichert einen einzelnen Wert vom Typ T in einer Eigenschaft namens Data. Sie können es in Verbindung mit Steuerelementen verwenden, die die Eingabe eines einzelnen Wertes erfordern – zum Beispiel TextBox. Die FieldSourceCollection<T>-Klasse speichert Sammlungen von Elementen und das aktuell ausgewählte/markierte Element. Die Sammlung befindet sich in der Items-Eigenschaft, während das aktuell ausgewählte Element in SelectedItem enthalten ist. Sie können es in Verbindung mit dem ComboBox-Steuerelement verwenden. Damit die Validierung auf dem Zielsteuerelement (in diesem Fall TextBox) funktioniert, muss ValidationOnDataErrors=true in Bindung hinzugefügt werden.

Fügen Sie im View Model der Ansicht eine Field1-Eigenschaft vom Typ FieldSource<string> hinzu und erstellen Sie eine Instanz. Im Konstruktor kann optional der Standardwert definiert werden, der beim Öffnen der Ansicht im TextBox-Feld erscheinen wird.

public FieldSource<string> Field1 { get; set; }
…
public OrdersViewModel()
{
    Field1 = new FieldSource<string>()
            {
                Error = „einfache Fehlmeldung"
            };
    …
}

Die Klassen FieldSource<T> und FieldSourceCollection definieren die die Standardregel für Validierung eines Feldes. Dabei wird geprüft, ob das Feld nicht leer ist, wenn die Anfordern-Eigenschaft in der Layoutverwaltung festgelegt wurde. Um die benutzerdefinierte Validierungslokik zu erfassen, verwenden Sie die SetValidationRule-Methode.

Mit der Eigenschaft Error (Verwendungsbeispiel oben) ist es möglich, die Standard-Fehlermeldung, die als ToolTip angezeigt wird, wenn der Mauszeiger über das ausgewählte Feld fährt, neu zu definieren.

Außerdem können in der FieldSourceBase-Klasse folgende Eigenschaften gelesen werden:

IsValid – ermöglicht es zu überprüfen, ob ein Feld korrekt validiert ist.

IsRequired – ermöglicht es zu überprüfen, ob ein Feld in der Ansichtskonfiguration vom Benutzer als erforderlich markiert wurde.

Um die Validierungsprüfung im View Model manuell zu erzwingen, sollte die RaiseValidation-Methode verwendet werden.

Mehr Details in: Beispiel für Verwendung des FieldControl-Steuerelements

DataGrid

Dieses Steuerelement ermöglicht die Darstellung komplexer Daten in Form einer Tabelle mit Spalten, die die Überschriften darstellen, sowie Zeilen, die detaillierte Daten enthalten. Die von dem Steuerelement dargestellten Informationen können nach jeder vom Benutzer im Ansichtsverwaltungspanel ausgewählten Spalte gruppiert werden. Darüber hinaus können die gruppierten Daten einer Aggregation unterzogen werden (z. B. Summe, Durchschnitt oder eine eigene Implementierung). Die Daten für das Steuerelement können asynchron abgerufen werden. Das Steuerelement unterstützt die Steuerung von Sortieren und Lesen von Daten beim Scrollen (Paging), indem es entsprechende Anforderungen an die Datenquelle sendet. Es führt die Sortierung der Daten nicht selbst durch, sondern teilt nur mit, wie sie zu sortieren sind, die Quelle muss dabei bereits solche sortierten Daten liefern. Mehr darüber, wie das Steuerelement funktioniert in  Darstellung einer Datenbasis mit dem DataGrid-Steuerelement

DatePicker und Calendar

Das Calendar-Steuerelement zeigt den Kalender an und ermöglicht die Angabe des Datums – Jahr, Monat, Tag. Das DatePicker-Steuerelement ist eine ComboBox, die, wenn sie angeklickt wird, ein Popup mit einem Kalender (Calendar) anzeigt. Wenn ein Datum angegeben wird, wird es in die ComboBox übertragen.

Ausgewählte Eigenschaften von DatePicker:

UndefinedDateText : string – wenn ein Textwert eingegeben wird, erscheint die Option, das Datum durch das Klicken auf den RadioButton mit dem in dieser Eigenschaft angegebenen Inhalt zu löschen.

IsTextHidden : bool – erlaubt es, die Darstellung des ausgewählten Datums auszublenden

SelectedDate : DateTime? – ausgewähltes Datum

DatePicker2

Eine alternative Möglichkeit, das Datum auszuwählen, ist das DatePicker2-Steuerelement. Das Datum wird in drei separaten Feldern angezeigt. Tag (TextBox), Monat (ComboBox) und Jahr (TextBox). Die Felder des Steuerelements können unabhängig voneinander verwaltet werden. Da die Komponenten in einen Container eingebettet sind, ist es auch möglich, die Reihenfolge zu ändern, in der die Datumskomponenten im Ansichtsverwaltungsfenster angezeigt werden.

Ausgewählte Eigenschaften:

SelectedDate : DateTime? – Datum im Steuerelement

IsMonthsListEditable : bool – steuert die Bearbeitung der Combobox mit der Liste der Monate

IsValid : bool – Flagge, die angibt, ob das eingegebene Datum korrekt ist

Mehr dazu in: Beispiele für Verwendung des DatePicker2-Steuerelements

AssistantControl

Ein besonderes Geschäftssteuerlement, das auf jedem Handelsdokument verwendet wird und das es ermöglicht, einen Transaktionsassistenten sowohl auf dem Dokument als auch auf der Position einzurichten. Es ähnelt sich sehr (beides im Design und in der Funktionalität) dem ComboBox2-Steuerelement.

Ausgewählte Eigenschaften:

Source : AssistantSource – dem Steuerelement zugewiesene Quelle, Binding an eine AssistantSource-Instanz

Label : string – Text, der auf dem Steuerelement angezeigt wird (z. B. auf einem Handelsdokument: „Bearbeiter”).

AttributeControl

Ein weiteres spezialisiertes Geschäftssteuerlement, das die Attribute von Business-Objekten verwaltet. Es ermöglicht die Darstellung und Bearbeitung von Attributen entsprechend ihrer Typen in den entsprechenden Bearbeitungsfeldern. Zum Beispiel wird ein Textattribut automatisch in Form eines TextBox-Steuerelements dargestellt, und ein logisches Attribut wird mit einer SwitchBox dargestellt. Mehr über die Geschäftssteuerelemente in Umgang mit Attributen

BuyerControl und RecipientControl

Geschäftssteuerlemente für die Auswahl und Darstellung des Kunden und des Empfängers auf dem Handelsdokument. Sie sind ähnlich wie die beiden vorherigen Steuerelemente aufgebaut. Sie bestehen aus einem Steuerelement und einer Datenquelle, die mithilfe von Binding verbunden sind.

Ausgewählte Eigenschaften von BuyerControl:

Source : IBuyerSource – Datenquelle, die die IBuyerSource-Schnittstelle implementiert

Czy ten artykuł był pomocny?