Verwaltung von Ansichten und denen Elementen

Elemente der Oberfläche (Steuerelemente) können modifiziert werden, indem die direkt verwaltbaren Farben geändert werden können – Designfarbe (ThemeColor) und Hintergrundfarbe (ThemeBackground), in der Schnittstellenkonfiguration, global, alle Steuerelemente innerhalb von einem Typ, in globalen Elementen oder lokal, unabhängig pro View, in Layoutverwaltung. Die lokale Änderung eines Steuerungsparameters hat eine höhere Priorität als eine globale Änderung.

Layout.Id

Das Funktionieren der Layoutverwaltung hängt von mehreren Faktoren ab. Der erste besteht darin, die Ansicht entsprechend zu registrieren (mit der RegisterViews-Methode der ModuleBase-Klasse ) und ein geeignetes View Model für den Designmodus zu erstellen (DesignViewModel); der zweite wiederum besteht darin, die Steuerelemente mit dem entsprechenden Attribut zu versehen.

Dieses Attribut ist Layout.Id, es muss in der gesamten POS-Anwendung eindeutig sein. Dies ist eine Voraussetzung dafür, dass das Steuerelement selbständig durchgeführt werden kann. Wenn mehrere Steuerelemente die gleiche Id haben, führt eine Änderung der Eigenschaft eines Steuerelements auch zu einer Änderung bei den anderen Steuerelementen.

Standardwerte für verwaltbare Eigenschaften festlegen

Die Standardwerte für die Steuerelemente können je nach Bedarf auf verschiedene Art und Weisen eingestellt werden.

  1. Direkt als Attribute des in xaml definierten Steuerelements
<TextBlock Foreground="Red"/>

Dieses Steuerelement ist nicht verwaltbar, weil das Layout.Id-Attribut nicht dafür definiert wurde.

Dies kann auch mit Farbenkombinationen und Font kombiniert werden

<TextBlock Foreground="{DynamicResource ThemeColor}"/>

Das Steuerelement wird nur über die Änderung der Designfarbe (Farbe der Schriftart wird geändert).

Damit ein Steuerelement in der globalen Konfiguration einer Schnittstelle global verwaltet werden kann, muss es mit der RegisterControl-Methode der ModuleBase-Klasse registriert werden.

Damit ein Steuerelement in jeder Ansicht, in der es verwendet wird, lokal verwaltet werden kann (Layoutverwaltung), muss diese Ansicht ordnungsgemäß registriert sein (mit der RegisterViews-Methode) und das Steuerelement muss das Layout.Id-Attribut haben. Wenn Sie Layout.Id verwenden, legen Sie die Standardeigenschaften des Steuerelements nicht direkt in dem Steuerelement fest. Wenn Sie den Standardwert, z. B. Foreground definieren, bevor Sie die Layout.Id definieren, wird dies dazu führen, dass diese Eigenschaft ignoriert wird. Wenn Sie jedoch Foreground nach der Layout.Id definieren, wird die Eigenschaften nicht mehr verwaltbar (sie wird über durch den direkt eingestellten Wert überschrieben).

Die Attribute sollen nur für nicht verwaltbare Eigenschaften eingestellt werden, z. B. für solche, die für das korrekte Funktionieren des Steuerelements (z. B. Binding) notwendig sind.

  1. Global- bzw. Lokalmodus des Steuerelements (über x:Key)
<core:View.Resources>
        <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
            <Setter Property="Foreground" Value="Red"/>
            <Setter Property="Background" Value="{DynamicResource ThemeBackground}"/>
        </Style>
<core:View.Resources>
..
<TextBlock core:Layout.Id="TextBlockLayoutId" />

Das Beispiel zeigt die globale Einstellung der Schriftfarbe und des Hintergrundstils für alle TextBlock-Steuerelemente, die in dem aktuellen <core:View> verwendet werden.

<core:View.Resources>
        <Style x:Key="TextBlockStyle" 
               TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
            <Setter Property="Foreground" Value="Red"/>
            <Setter Property="Background" Value="{DynamicResource ThemeBackground}"/>
        </Style>
<core:View.Resources>
…
<TextBlock Style="{StaticResource TextBlockStyle}" core:Layout.Id="TextBlockLayoutId" />

Die dargestellt Modifizierung zeigt, wie Sie mithilfe von Designs nur das ausgewählte Steuerelement einstellen können.

  1. Standardattribut, das in ModernUI.xaml durch <Typ_des_Attributs x:Key=“[LayoutId].Default.[Name_des _Typs]“>[Standardwert]</<Typ_des_Attributs> definiert ist.

ModernUI.xml-Datei

<SolidColorBrush x:Key="TextBlockLayoutId.Default.Foreground" Color="Red"/>

View-Datei

<TextBlock core:Layout.Id="TextBlockLayoutId" />

Eine Voraussetzung für das korrekte Funktionieren des darstellten Beispiels ist, dass die ModernUI.xaml-Ressourcen des Moduls in der Klasse, die das Modul registriert (Neues Modul), registriert wird. Im Konstruktor ist Folgendes aufzurufen:

LayoutService.RegisterResources(typeof(Module));

Eine Begrenzung dieser Lösung liegt daran, dass die dynamischen Werte und Gruppierungen der wiederholten Werte mit einem gemeinsamen Namen nicht definiert werden können. Beispielsweise wäre folgender Code nicht richtig:

<SolidColorBrush x:Key="TextBlockLayoutId.Default.Foreground" 
            Color="{DynamicResource ThemeColor}"/>

In diesem Fall sind Color (System.Windows.Media.Color) und ThemeColor (SolidColorBrush) nicht kompatibel!

Diese Methode wird zurzeit nicht vorgeschlagen. Die Ausnahme ist das Definieren von standardmäßigen Parametern für die Data-Grid-Spalten.

Liste unterstützter Eigenschaften

In der folgenden Tabelle sind die Eigenschaften aufgelistet, die über das Konfigurationspanel der Schnittstelle für die einzelnen am POS verfügbaren Steuerelemente verwaltet werden können.

Typ des Steuerelements

Eigenschaft Name
Unterstützte Eigenschaft [Name : Typ] Name der Eigenschaft im Konfigurationspanel

FrameworkElement

System.Windows.FrameworkElement

Eigenschaft Name
Width : double Breite
Height : double Höhe
Margin : Thickness Rand
HorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung
VerticalAlignment : VerticalAlignment Vertikale Ausrichtung
MaxWidth : double Max. Breite
MaxHeight : double Max. Höhe
Grid.Position : string Position

Control

System.Windows.Controls.Control

Eigenschaft Name
Background : Brush Hintergrund
Foreground : Brush Textfarbe
FontSize : double Schriftgröße
FontWeight : FontWeight Strichstärke
FontStyle : FontStyle Schriftart
Padding : Thickness Schriftfüllung
Grid.Position : string Position

Grid

System.Windows.Controls.Grid

Eigenschaft Name
Background : Brush Hintergrund
Margin : Thickness Rand
Visibility : Visibility Sichtbarkeit
Width : double Breite
Height : double Höhe
Grid.Position : string Position

Comarch.POS.Presentation.Core.Controls.Grid

: System.Windows.Controls.Grid

Eigenschaft Name
ColumnDefinition : string Spalten
RowDefinition : string Zeilen

Border

System.Windows.Controls.Border

Eigenschaft Name
Visibility : Visibility Sichtbarkeit
Background : Brush Hintergrund

ScrollViewer

System.Windows.Controls.ScrollViewer

: System.Windows.Controls.Control

Eigenschaft Name
VerticalScrollBarVisibility : ScrollBarVisibility Vertikale Bildaufleiste
HorizontalSchrollBarVisibility : ScrollBarVisibility Horizontale Bildaufleiste
Width : double Breite
Height : double Höhe

Comarch.POS.Presentation.Core.Controls.ScrollViewer

: System.Windows.Controls.ScrollViewer

Eigenschaft Name

Separator

System.Windows.Controls.Separator

: System.Windows.FrameworkElement

Eigenschaft Name
Background : Brush Hintergrund

TextBlock

System.Windows.Controls.TextBlock

: System.Windows.FrameworkElement

Eigenschaft Name
Background : Brush Hintergrund
Foreground : Brush Textfarbe
FontSize : double Schriftgröße
FontWeight : FontWeight Strichstärke
FontStyle : FontStyle Schriftart
Padding : Thickness Schriftfüllung
TextAlignment : TextAlignment Textausrichtung
Visibility : Visibility Sichtbarkeit
TextWrapping : TextWrapping Textfluss

DoubleColorTextBlock

Comarch.POS.Presentation.Core.Controls.DoubleColorTextBlock

: System.Windows.FrameworkElement

Eigenschaft Name
FirstForeground : Brush Textfarbe 1
SecondForeground : Brush Textfarbe 2
Background : Brush Hintergrund
FontSize : double Schriftgröße
FontWeight : FontWeight Strichstärke
FontStyle : FontStyle Schriftart
Padding : Thickness Schriftfüllung
Visibility : Visibility Sichtbarkeit

ErrorTextBlock

Comarch.POS.Presentation.Core.Controls.ErrorTextBlock

: System.Windows.Controls.TextBlock

Eigenschaft Name

TextBox

Comarch.WPF.Controls.TextBox

: System.Windows.FrameworkElement,

System.Windows.Controls.Control

Eigenschaft Name
BorderThickness : Thickness Rahmen
BorderBrush : Brush Farbe eines Rahmens
FocusedBorderBrush : Brush Farbe eines Rahmens (focus)
ErrorColor : Brush Farbe des Fehlers
HintForeground : Brush Hinweistextfarbe
Hint: string Hinweistextfarbe

Comarch.POS.Presentation.Core.Controls.TextBox

: Comarch.WPF.Controls.TextBox

Eigenschaft Name

Underline

Comarch.WPF.Controls.Underline

: System.Windows.FrameworkElement

Eigenschaft Name
Stroke : Brush Farbe
StrokeThickness : Thickness Dicke

Comarch.POS.Presentation.Core.Controls.Underline

: Comarch.WPF.Controls.Underline

Eigenschaft Name

ColumnDefinition : string

System.Windows.Controls.ColumnDefinition

Eigenschaft Name
Width : double Breite

RowDefinition

System.Windows.Controls.RowDefinition

Eigenschaft Name
Height : double Höhe

DataGridColumn

System.Windows.Controls.DataGridColumn

Eigenschaft Name
MaxWidth : double Max. Breite
MinWidth : double Max. Höhe
Width : DataGridLength Breite
SortDirection : ListSortDirection Sortieren
Visibility : Visibility Sichtbarkeit
HorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung

DataGridTemplateColumn

System.Windows.Controls.DataGridTemplateColumn

: System.Windows.Controls.DataGridColumn

Eigenschaft Name

DataGridTextColumn

System.Windows.Controls.DataGridTextColumn

: System.Windows.Controls.DataGridColumn

Eigenschaft Name
FontSize : double Schriftgröße
Foreground : Brush Textfarbe
FontWeight : FontWeight Strichstärke
FontStyle : FontStyle Schriftart

DataGridCell

System.Windows.Controls.DataGridCell

Eigenschaft Name
Margin : Thickness Rand
HorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung

DataGridColumnHeader

System.Windows.Controls.Primitives.DataGridColumnHeader

Eigenschaft Name
Margin : Thickness Rand
HorizontalContentAlignment : HorizontalAlignment Inhalt horizontal ausrichten

DataGrid

Comarch.WPF.Controls.DataGrid

: System.Windows.FrameworkElement,

System.Windows.Controls.Control

Eigenschaft Name

Comarch.POS.Presentation.Core.Controls.DataGrid

Eigenschaft Name
RowBackground : Brush Hintergrund der Zeile
HeaderBackground : Brush Hintergrund der Kopfzeile
ScrollBarWidth : double Breite der Bildaufleiste
VerticalScrollBarVisibility : Visibility Vertikale Bildaufleiste
HorizontalScrollBarVisibility : Visibility Horizontale Bildaufleiste
GroupBy : DataGridGroup Gruppieren nach
IsVirtualizingWhenGrouping : bool Zeilen virtualisieren
ScrollUnit : ScrollUnit Schiebebalkeneinheit
Grid.Position : string Position

ItemsContainer

Comarch.POS.Presentation.Core.Controls.ItemsContainer

: System.Windows.FrameworkElement

Eigenschaft Name
Orientation : Orientation Ausrichtung
Padding : Thickness Schriftfüllung
Background : Brush Hintergrund
MoreMultiButtonHeight : double Höhe
MoreMultiButtonWidth : double Breite
MoreMultiButtonImageHeight : double Höhe des Icons
MoreMultiButtonImageWidth : double Breite des Icons
MoreMultiButtonMargin : Thickness Rand
MoreMultiButtonImageMargin : Thickness Rand des Icons
MoreMultiButtonFontSize : double Schriftgröße
MoreMultiButtonIsImageVisible : bool Icon anzeigen

Expander

Comarch.POS.Presentation.Core.Controls.Expander

: System.Windows.FrameworkElement,

System.Windows.Controls.Control

Eigenschaft Name
HeaderBackground : Brush Hintergrund der Kopfzeile
HeaderPadding : Thickness Füllung der Kopfzeile

Image

System.Windows.Controls.Image

: System.Windows.FrameworkElement

Eigenschaft Name
Stretch : Stretch Strecken
StretchDirection : StretchDirection Richtung des Streckens

Comarch.WPF.Controls.Image

Eigenschaft Name
HorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung
HorizontalContentAlignment : HorizontalAlignment Inhalt horizontal ausrichten
VerticalAlignment : VerticalAlignment Vertikale Ausrichtung
VerticalContentAlignment : VerticalAlignment Inhalt vertikal ausrichten

Comarch.POS.Presentation.Core.Controls.Image

: System.Windows.FrameworkElement

Eigenschaft Name
DefaultImageKey : ImageKey Default Icon

BundleImage

Comarch.POS.Presentation.Core.Controls.BundleImage

Eigenschaft Name
IconForeground : Brush Farbe
IconMargin : Thickness Rand
IconImageKey : ImageKey Icon
Width : double Breite
Height : double Höhe
PopupMaxWidth : double Max. Höhe
PopupMinWidth : double Max. Höhe

Button

Comarch.POS.Presentation.Core.Controls.Button

: System.Windows.FrameworkElement,

System.Windows.Controls.Control

 

Andere, die auf Button basieren, z. B.:

Comarch.POS.Presentation.Core.Controls.AcceptButton

Comarch.POS.Presentation.Core.Controls.CancelButton

Comarch.POS.Presentation.Core.Controls.SelectButton

Comarch.POS.Presentation.Core.Controls.CleanButton

Comarch.POS.Presentation.Core.Controls.TileButton

Comarch.POS.Presentation.Core.Controls.PaymentTypeTile

Comarch.POS.Presentation.Core.Controls.PrintLabelButton

Comarch.POS.Presentation.Core.Controls. ShowItemsVariantsButton

Eigenschaft Name
ImageKey : ImageKey Icon
ImageMargin : Thickness Rand des Icons
ImageWidth : double Breite des Icons
ImageHeight : double Höhe des Icons
ImageHorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung
ImageVerticalAlignment : VerticalAlignment Vertikale Ausrichtung
IsImageVisible : bool Icon anzeigen
ShortcutMargin : Thickness Rand
ShortcutWidth : double Breite
ShortcutHeight : double Höhe
ShortcutHorizontalAlignment : HorizontalAlignment

 

Horizontale Ausrichtung

 

ShortcutVerticalAlignment : VerticalAlignment Vertikale Ausrichtung
IsShortcutVisible : bool Tastenkombination anzeigen
Shortcut : Shortcut Tastenkombination
IsScaledShortcut : bool Inhalt skallieren
ContentMargin : Thickness Rand
ContentWidth : double Breite
ContentHeight : double Höhe
ContentHorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung
VerticalAlignment VerticalAligment Vertikale Ausrichtung
ContentVisibility : Visibility Sichtbarkeit
IsScaledContent : bool Inhalt skallieren
Orientation : Orientation Ausrichtung
ItemsContainer.NoWrapButton : bool Keine Aggregation

RadioButton

Comarch.POS.Presentation.Core.Controls.RadioButton

: System.Windows.FrameworkElement,

System.Windows.Controls.Control

Eigenschaft Name
CheckedStateBackground : Brush Hintergrund ausgewählten Elements
CheckedStateForeground: Brush Text ausgewählten Elements
ImageKey : ImageKey Icon
ImageMargin : Thickness Rand des Icons
ImageWidth : double Breite des Icons
ImageHeight : double Höhe des Icons
ImageHorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung
ImageVerticalAlignment : VerticalAlignment Vertikale Ausrichtung
IsImageVisible : Visibility Icon anzeigen
ContentMargin : Thickness Rand
ContentWidth : double Breite
ContentHeight : double Höhe
ContentHorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung
ContantVerticalAlignment : VerticalAlignment Vertikale Ausrichtung
ContentVisibility : Visibility Sichtbarkeit
IsScaledContent : bool Inhalt skalieren
Orientation : Orientantion Ausrichtung

FieldControl

Comarch.POS.Presentation.Core.Controls.FieldControl

: System.Windows.FrameworkElement

Eigenschaft Name
Orientation : Orientation Ausrichtung
LabelMargin : Thickness Rand
LabelWidth : double Breite
LabelHeight : double Höhe
LabelFontSize : double Schriftgröße
LabelFontStyle : FontStyle Schriftart
LabelFontWeight : FontWeight Strichstärke
LabelForeground : Brush Textfarbe
LabelForegroundError : Brush Farbe bei mangelnder Validierung
LabelHorizontalAlignment: HorizontalAlignment Horizontale Ausrichtung
LabelVertivalAlignment: VerticalAlignment Vertikale Ausrichtung
ContentIsRequired : bool Erforderlich

ChechBox

Comarch.POS.Presentation.Core.Controls.CheckBox

: System.Windows.FrameworkElement,

System.Windows.Controls.Control

Eigenschaft Name
CheckedStateBackground : Brush Hintergrund ausgewählten Elements
CheckedStateForeground: Brush Text ausgewählten Elements
DisabledStateBackground : Brush Hintergrund inaktiv
DisabledCheckedStateBackground : Brush Hintergrund inaktiv
ImageKey : ImageKey Icon
ImageMargin : Thickness Rand des Icons
ImageWidth : double Breite des Icons
ImageHeight : double Höhe des Icons
ImageHorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung
ImageVerticalAlignment : VerticalAlignment Vertikale Ausrichtung
IsImageVisible : Visibility Icon anzeigen
ContentMargin : Thickness Rand
ContentWidth : double Breite
ContentHeight : double Höhe
ContentHorizontalAlignment : HorizontalAlignment Horizontale Ausrichtung
ContantVerticalAlignment : VerticalAlignment Vertikale Ausrichtung
ContentVisibility : Visibility Sichtbarkeit
IsScaledContent : bool Inhalt skalieren
Orientation : Orientantion Ausrichtung

ComboBox

Comarch.WPF.Controls.ComboBox

: System.Windows.FrameworkElement,

System.Windows.Controls.Control

Eigenschaft Name
HorizontalContentAllignment : HorizontalAlignment Inhalt horizontal ausrichten
PopupBackground : Brush Hintergrund
FocusedBorderBrush : Brush Farbe eines Rahmens (focus)
ErrorColor : Brush Farbe des Fehlers

Comarch.POS.Presentation.Core.Controls.ComboBox

: Comarch.WPF.Controls.TextBox

Eigenschaft Name

ComboBox2

Comarch.POS.Presentation.Core.Controls.   ComboBox2

Eigenschaft Name
LabelFontSize : double Schriftgröße
LabelFontStyle : FontStyle Schriftart
LabelFontWeight : FontWeight Strichstärke
Shortcut : Shortcut Tastenkombination
FontSize : double Schriftgröße
FontWeight : FontWeight Strichstärke
FontStyle : FontStyle Schriftart
Visibility : Visibility Sichtbarkeit

AutoCompleteComboBox

Comarch.POS.Presentation.Core.Controls.AutoCompleteComboBox

: System.Windows.Controls.Control

Eigenschaft Name
FocusedBorderBrush : Brush Farbe eines Rahmens (focus)
ErrorColor : Brush Farbe des Fehlers
HintForeground : Brush Hinweistextfarbe
Hint: string Hinweis

SwitchBox

Comarch.POS.Presentation.Core.Controls.SwitchBox

: System.Windows.Controls.Control

Eigenschaft Name
VerticalContentAlignment : VerticalAlignment Inhalt vertikal ausrichten
Margin : Thickness Rand

Comarch.POS.Presentation.Core.Controls.SearchBox

Eigenschaft Name
FontSize : double Schriftgröße
Foreground : Brush Hintergrund
HintForeground : Brush Hinweistextfarbe
Margin: Thickness Rand
Hint: string Hinweis

DatePicker

Comarch.POS.Presentation.Core.Controls.DatePicker

: System.Windows.Controls.Control

Eigenschaft Name
FocusedBorderBrush : Brush Farbe eines Rahmens (focus)
ErrorColor : Brush Farbe des Fehlers
BorderBrush : Brush Farbe eines Rahmens
Visibility : Visibility Sichtbarkeit

ButtonSpinner

Comarch.POS.Presentation.Core.Controls.ButtonSpinner

Eigenschaft Name
ButtonImageWidth : double Breite
ButtonImageHeight : double Höhe
ButtonWidth : double Breite der Schaltfläche
ButtonHeight : double Höhe der Schaltfläche

FilterItemsControl

Comarch.POS.Presentation.Core.Controls.FilterItemsControl

Eigenschaft Name
MaxFilterItemsPerRow : int Max. Anzahl der Filter
Visibility : Visibility Sichtbarkeit
Grid.Position : string Position

SearchBoxFilter

Comarch.POS.Presentation.Core.Controls.SearchBoxFilter

: Comarch.POS.Presentation.Core.Controls.ComboBox2

Eigenschaft Name
DefaultFilter : string Defaultwert des Filters

StockTile

Comarch.POS.Presentation.Core.Controls.StockTile

Eigenschaft Name
Background : Brush Hintergrund
IsCodeVisible : bool Code des Lagers anzeigen
WarehouseMargin : Thickness Rand
WarehouseCodeFontSize : double Codeschriftgröße
WarehouseNameFontSize : double Namenschriftgröße
StocksFontSize : double Schriftgröße
StocksMargin : Thickness Rand

SetValueNumbersKeyboard

Comarch.WPF.Controls.SetValueNumbersKeyboard

Eigenschaft Name
Visibility : Visibility Sichtbarkeit

AttributeControl

Comarch.POS.Presentation.Core.Controls.AttributeControl

: System.Windows.Controls.Control

Eigenschaft Name

AssistantControl

Comarch.POS.Presentation.Core.Controls.AssistantControl

Eigenschaft Name
LabelFontSize : double Schriftgröße
LabelFontStyle : FontStyle Schriftart
LabelFontWeight : FontWeight Strichstärke
FontSize : double Schriftgröße
FontWeight : FontWeight Strichstärke
FontStyle : FontStyle Schriftart
Shortcut : Shorcut Tastenkombination
Visibility : Visibility Sichtbarkeit
Grid.Position : string Position

DocumentKeypad

Comarch.POS.Presentation.Core.Controls.DocumentKeypad

Eigenschaft Name
HeaderFontSize : double
KeypadHeaderColor : Brush

 

Czy ten artykuł był pomocny?