SimpleCheckBox
Das Kontrollkästchen ist ein ContentControl-Element, das zum Umschalten zwischen drei verschiedenen Zuständen dient: aktiviert, nicht aktiviert und unbestimmt. Der IsChecked -Zustand gibt an, ob das Kontrollkästchen aktiviert ist. Sie können Inhalte in einem Kontrollkästchen in Microsoft Expression Blend platzieren, indem Sie auf das Kontrollkästchen doppelklicken und ein Objekt darin zeichnen. Wenn Sie mehrere Objekte innerhalb des Kontrollkästchens platzieren möchten, fügen Sie z. B. zuerst ein Grid - oder Canvas -Layoutpanel ein. Ein Kontrollkästchen kann auch standardmäßig Text anzeigen. Klicken Sie mit der rechten Maustaste auf das Kontrollkästchen, und klicken Sie dann auf Text bearbeiten, um den Text zu bearbeiten.
Zeichenflächenansicht eines SimpleCheckBox-Steuerelements
Aufgliederung der Steuerelementvorlage
Die SimpleCheckBox -Steuerelementvorlage umfasst folgende Elemente:
Einen BulletDecorator -Container , der zum Ausrichten des Kontrollkästchens am Text verwendet wird. Ein BulletDecorator kann zwei untergeordnete Elemente aufnehmen: ein Bullet-Objekt und ein Content-Objekt (Inhalt, z. B. ein ContentPresenter -Objekt). Der BulletDecorator wird in anderen Steuerelementen verwendet (z. B. in RadioButton -Steuerelementen), in denen Text an anderen Objekten ausgerichtet werden muss.
Das Bullet -Element , das ein Grid -Panel enthält, in dem wiederum ein Path -Element mit der Bezeichnung CheckMark und ein Border -Element enthalten sind. Das Path -Element wird zum Zeichnen der "x"-Markierung verwendet.
Das ContentPresenter -Element, das verwendet wird, um die Content -Eigenschaft des Kontrollkästchens anzuzeigen, auf das diese Vorlage angewendet wird. Dieses Element muss vorhanden sein, um den Inhalt des Kontrollkästchens anzuzeigen.
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 SimpleCheckBox -Steuerelementvorlage für die IsChecked -Eigenschaft der Wert False festgelegt ist, wird die Sichtbarkeit des CheckMark -Pfadelements in Collapsed geändert. In anderen Auslösern ändern Sie den Hintergrund des Border -Elements mit Pinselressourcen.
Verwendete Pinsel
Die folgenden Pinselressourcen im Ressourcenverzeichnis SimpleStyles.xaml werden von der SimpleCheckBox -Vorlage verwendet:
Die Background -Eigenschaft des Border -Elements wird festgelegt, indem Sie die entsprechenden Pinselressourcen wie folgt verwenden: NormalBrush , wenn kein Auslöser aktiv ist, MouseOverBrush , wenn IsMouseOver auf True gesetzt ist, PressedBrush , wenn IsPressed auf True gesetzt ist, und DisabledBackgroundBrush , wenn IsEnabled auf False gesetzt ist.
Die BorderBrush -Eigenschaft wird festgelegt, indem Sie die entsprechenden Pinselressourcen wie folgt verwenden: NormalBorderBrush , wenn kein Auslöser aktiv ist, PressedBorderBrush , wenn IsPressed auf True gesetzt ist, und DisabledBorderBrush , wenn IsEnabled auf False gesetzt ist.
Die Foreground -Eigenschaft wird festgelegt, indem Sie die Pinselressource DisabledForegroundBrush verwenden, wenn IsEnabled auf False gesetzt ist.
Von der Stroke -Eigenschaft des CheckMark -Elements wird die GlyphBrush -Ressource verwendet, um die "x"-Markierung zu zeichnen.
Bewährte Methoden und Designrichtlinien
Im Allgemeinen wird ein Grid -Steuerelement (Raster) als Stamm der Vorlage verwendet, wenn Sie davon ausgehen, dass ein Benutzeroberflächendesigner 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.
Der Inhalt des Kontrollkästchens wird durch ein ContentPresenter -Objekt angezeigt. Bei ContentPresenter -Objekten wird die Vorlage automatisch an die Content -Eigenschaft des Steuerelements gebunden, auf das die Vorlage angewendet wird. Dieses Objekt muss für das Kontrollkästchen vorhanden sein, um den Inhalt aus dem vorlagenbasierten übergeordneten Objekt anzuzeigen.
In manchen Fällen weist das von Ihnen verwendete Steuerelement nicht ausreichend Attribute auf, um die Bindung an die Steuerelementvorlage zu ermöglichen. Beispielsweise wird im CheckBox -Steuerelement kein Attribut bereitgestellt, um den Pinsel für das CheckMark -Objekt festzulegen. In diesem Fall ist der Strich des CheckMark -Objekts auf einen Pinsel festgelegt, sodass die Änderung erleichtert wird. Sie können eine benutzerdefinierte Klasse erstellen, die auf dem CheckBox -Steuerelement basiert, und weitere Attribute hinzufügen, um eine Bindung mit diesen oder mit einem der vorhandenen Attribute herzustellen. Ein Beispiel für eine benutzerdefinierte Klasse finden Sie unter Weiterführende Themen: Erstellen eines benutzerdefinierten Steuerelements mit benutzerdefinierten Eigenschaften in diesem Benutzerhandbuch.
Das Grid -Objekt weist eine feste Größe auf, da Sie das CheckMark -Pfadobjekt aus- und einblenden. Wenn das Grid -Objekt keine feste Größe hat, wird der Text im ContentPresenter verschoben, falls sich die Auswahl für das Kontrollkästchen ändert. Als Alternative zu einer festen Grid -Größe und dem Ausblenden des CheckMark -Pfads können Sie die Opacity -Eigenschaft der Stroke -Eigenschaft des CheckMark -Pfadobjekts in den Wert 0 ändern.
Siehe auch
Aufgaben
Copyright © 2011 Microsoft Corporation. Alle Rechte vorbehalten.