Freigeben über


SimpleComboBox-Steuerelementvorlage und SimpleComboBoxItem-Steuerelementvorlage

Diese Seite bezieht sich nur auf WPF-Projekte

Beim Kombinationsfeld handelt es sich um ein ItemsControl-Element in Form einer Dropdownliste. In Microsoft Expression Blend können Sie einem Kombinationsfeld Inhalte hinzufügen, indem Sie auf das Kombinationsfeld doppelklicken und dann ein Objekt (z. B. ein SimpleComboBoxItem -Objekt) darin zeichnen. Sie können auch im Panel Objekte und Zeitachsen mit der rechten Maustaste auf das Kombinationsfeld klicken und dann auf SimpleComboBoxItem hinzufügen klicken, um der Auflistung einzelne Elemente hinzuzufügen. Wenn die Auflistung von ComboBoxItem -Objekten aus einer Datenquelle generiert werden soll, klicken Sie auf "ItemsSource" an Daten binden. Klicken Sie mit der rechten Maustaste im Panel Objekte und Zeitachsen auf das ComboBox-Steuerelement oder ComboBoxItem-Steuerelement, und klicken Sie dann auf ComboBox erweitern, um das Kombinationsfeld auf der Zeichenfläche in erweitertem Zustand anzuzeigen.

Die Zeichenflächenansicht eines SimpleComboBox-Steuerelements nach dem Hinzufügen von zwei Elementen

Cc295332.25309636-8547-4686-a578-9aa914190f01(de-de,Expression.40).png

Aufgliederung der Steuerelementvorlage

Die SimpleComboBox -Steuerelementvorlage umfasst folgende Elemente:

  • Ein Grid -Panel , das verwendet wird, um mehrere untergeordnete Elemente innerhalb des Kombinationsfelds aufzunehmen. Darüber hinaus erleichtert die Verwendung des Grid -Panels dem Benutzeroberflächendesigner das Hinzufügen von weiteren Objekten zur Vorlage.

  • Ein ContentPresenter-Objekt mit dem Namen ContentSite , das im Grid -Panel enthalten ist und zum Anzeigen des ausgewählten Elements verwendet wird.

  • Ein Textfeld mit dem Namen PART_EditableTextBox , das im Grid -Panel enthalten ist und dem Benutzer das Bearbeiten von Text innerhalb des Kombinationsfelds ermöglicht. Sie sollten den Namen PART_EditableTextBox nicht ändern, da er von der Klasse zum Suchen nach dem Textfeld verwendet wird. Standardmäßig ist das Textfeld reduziert und wird angezeigt, wenn für die IsEditable -Eigenschaft des Kombinationsfelds der Wert True festgelegt ist, auf das diese Steuerelementvorlage angewendet wird.

  • Ein Popup-Steuerelement mit Schaltfläche zum Umschalten , das zum Erstellen des erweiterbaren Teils des Kombinationsfelds verwendet wird. Das Popup-Steuerelement kann sich relativ zu anderen Steuerelementen positionieren. Es wird im Vordergrund vor allen anderen Inhalten gerendert. Dieses Steuerelement unterstützt auch einige integrierte Animationen.

  • Ein Grid -Steuerelement, das im Popup-Steuerelement enthalten ist und ein ScrollViewer -Objekt enthält, mit dem ein Bildlauf in der Liste der Elemente ausgeführt werden kann. Mit dem StackPanel -Objekt im ScrollViewer -Objekt wird jedes Element positioniert. Die IsItemsHost -Eigenschaft des StackPanel -Objekts ist auf den Wert True festgelegt, sodass untergeordnete Objekte innerhalb des StackPanel -Objekts vom ComboBox-Steuerelement positioniert werden können. Wenn Sie die Einstellungen für die Anzeige der Elemente ändern möchten, können Sie dieses Layoutpanel ersetzen. Klicken Sie hierzu mit der rechten Maustaste im Panel Objekte und Zeitachsen auf das Grid-Panel, wählen Sie Layouttyp ändern und dann ein anderes Panel aus, wie z. B. UniformGrid .

Die SimpleComboBoxItem -Steuerelementvorlage umfasst folgende Elemente:

  • Ein Grid -Panel , das verwendet wird, um mehrere untergeordnete Elemente innerhalb des Kombinationsfelds aufzunehmen. Außerdem erleichtert die Verwendung eines Grid dem Designer das Hinzufügen von weiteren Objekten zur Vorlage.

  • Ein Border -Element , das verwendet wird, dal seine BorderThickness -Eigenschaft über eine Vorlage an die BorderThickness -Eigenschaft des Button-Steuerelements gebunden werden kann, auf das diese Vorlage angewendet wird.

  • Ein ContentPresenter -Element , das sich innerhalb des Grid -Objekts befindet und das automatisch an die Content -Eigenschaft des Elementsteuerelements gebunden ist, auf das diese Vorlage angewendet wird.

Verwendete Eigenschaftsauslöser

Eigenschaftsauslöser in der Steuerelementvorlage werden verwendet, damit das Steuerelement auf Änderungen der Eigenschaften reagieren kann. Sie können im Auslöserpanel auf die Elemente klicken, um die Eigenschaften anzuzeigen, die bei einem aktiven Auslöser geändert werden. Wenn beispielsweise in der Vorlage für das Kombinationsfeld die HasItems -Eigenschaft den Wert False aufweist, ist die Mindesthöhe des DropDownBorder -Objekts auf 95 festgelegt, sodass beim Klicken auf das Kombinationsfeld ein leeres Dropdownfenster angezeigt wird. Wenn für die Mindesthöhe der Wert 0 festgelegt wurde, wird ein winziges Dropdownfenster angezeigt. Wenn in der Vorlage für das ComboBoxItem-Steuerelement die IsHighlighted -Eigenschaft auf den Wert True festgelegt ist, wird die Background -Eigenschaft des Border -Objekts geändert, um das im Kombinationsfeld ausgewählte Element anzuzeigen.

Verwendete Pinsel

Die folgenden Pinselressourcen im Ressourcenverzeichnis SimpleStyles.xaml werden von der SimpleComboBox -Vorlage und der SimpleComboBoxItem -Vorlage verwendet:

  • Die Background -Eigenschaft des DropDownBorder -Objekts wird mithilfe der WindowBackgroundBrush -Ressource festgelegt.

  • Die BorderBrush -Eigenschaft des DropDownBorder -Objekts wird mithilfe der SolidBorderBrush -Ressource festgelegt.

  • Die Foreground -Eigenschaft wird mithilfe der DisabledForegroundBrush -Ressource festgelegt, wenn IsEnabled den Wert False aufweist.

  • Wenn die SimpleComboBox -Steuerelementvorlage mit Elementen aufgefüllt ist, die die SimpleComboBoxItem -Vorlage verwenden, wird die Background -Eigenschaft des Elements mit der SelectedBackgroundBrush -Ressource festgelegt, wenn ein Element ausgewählt ist. Die Foreground -Eigenschaft wird mit der DisabledForegroundBrush -Ressource festgelegt, wenn die IsEnabled -Eigenschaft den Wert False aufweist.

Bewährte Methoden und Designrichtlinien

  • Im Allgemeinen wird ein Grid -Steuerelement (Raster) als Stamm der Vorlage verwendet, wenn Sie davon ausgehen, dass ein Designer dem Steuerelement weitere visuelle Elemente hinzufügen wird. Von Expression Blend wird ein Layoutpanel, wie z. B. das Grid -Steuerelement (Raster), gesucht und standardmäßig als aktives Objekt festgelegt. Beim Hinzufügen neuer Objekte zur Zeichenfläche werden diese als untergeordnete Objekte in das Layoutpanel eingefügt.

  • Die Erweiterung des Kombinationsfelds wird festgelegt, indem die IsChecked -Eigenschaft des ToggleButton -Objekts und die IsOpen -Eigenschaft des Popup-Elements an die IsDropDownOpen -Eigenschaft des Kombinationsfelds gebunden werden, auf das diese Steuerelementvorlage angewendet wird. Wenn Sie das ToggleButton -Objekt oder das Popup-Objekt bearbeiten, stellen Sie sicher, dass diese Vorlagenbindung erhalten bleibt.

  • Das ToggleButton -Objekt verwendet eine separate Vorlage mit dem Namen ToggleButtonControlTemplate . Klicken Sie mit der rechten Maustaste auf das ToggleButton -Objekt, zeigen Sie auf Vorlage bearbeiten, und klicken Sie dann auf Aktuelle bearbeiten.

  • Klicken Sie im Ressourcenpanel neben dem SimpleComboBoxItem -Stil auf die Schaltfläche Ressource bearbeiten, um die SimpleComboBoxItem -Vorlage zu ändern. Wenn Sie sich im Bearbeitungsmodus des Stils befinden, klicken Sie im Panel Objekte und Zeitachsen mit der rechten Maustaste auf Formatvorlage, zeigen Sie auf Vorlage bearbeiten, und klicken Sie dann auf Aktuellen bearbeiten. Wenn Sie die SimpleComboBoxItem -Steuerelementvorlage ändern, können Sie den IsHighlighted -Auslöser beibehalten oder ändern.

Siehe auch

Aufgaben

Weiterführende Themen: Anpassen der Darstellung der Expander-Schaltfläche in einer SimpleComboBox-Steuerelementvorlage

Copyright © 2011 Microsoft Corporation. Alle Rechte vorbehalten.