ImageBrush Klasse

Definition

Zeichnet einen Bereich mit einem Bild. Die Bildquelle wird in der Regel aus Dateiformaten wie Joint Photographic Experts Group (JPEG) abgerufen.

public ref class ImageBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageBrush final : TileBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ImageBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageBrush : TileBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
Vererbung
Object Platform::Object IInspectable DependencyObject Brush TileBrush ImageBrush
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

In diesem XAML-Beispiel wird gezeigt, wie die Vordergrundeigenschaft eines TextBlock auf einen ImageBrush festgelegt wird, dessen Bild als Füllung für den textBlock gerenderten Text verwendet wird.

<!-- TextBlock with an image brush applied to the text. -->
<TextBlock FontFamily="Verdana" FontSize="72"
 FontStyle="Italic" FontWeight="Bold">
    SHRUBBERY
  <TextBlock.Foreground>
    <ImageBrush ImageSource="forest.jpeg"/>
  </TextBlock.Foreground>
</TextBlock>
Auf Text angewendete ImageBrush

Hinweise

Ein ImageBrush ist ein Pinseltyp , der seinen Inhalt als Bild definiert, das optional gestreckt und ausgerichtet werden kann. Die Verwendung von ImageBrush umfasst dekorative Effekte für Text oder Bildhintergründe für Steuerelemente oder Layoutcontainer.

Es ist nützlich, in zwei Standard Szenarien ein ImageBrush anstelle eines Image-Steuerelements zu verwenden:

  1. Sie möchten einen nicht rechteckigen Bereich wie eine Auslassungspunkte oder einen Rahmen mit einem Bild zeichnen.
  2. Sie möchten einen einzelnen ImageBrush verwenden, um mehrere Bereiche oder UIElements mit demselben Bild zu zeichnen, was effizienter ist als die Verwendung mehrerer Image-Steuerelemente

Wenn Sie einen ImageBrush-Code definieren, verwenden Sie den Standardkonstruktor, und legen Sie dann ImageBrush.ImageSource fest. Dies erfordert ein BitmapImage (nicht einen URI (Uniform Resource Identifier)) im Code. Falls es sich bei deiner Quelle um einen Datenstrom handelt, initialisiere den Wert mit der SetSourceAsync-Methode. Wenn Ihre Quelle ein Uniform Resource Identifier (URI) ist, der Inhalte in Ihrer App enthält, die die Schemas ms-appx oder ms-resource verwenden, verwenden Sie den BitmapImage-Konstruktor , der einen Uniform Resource Identifier (URI) akzeptiert. Für den Fall, dass beim Abrufen oder Decodieren der Bildquelle Probleme mit der Zeitsteuerung auftreten und du alternativen Inhalt anzeigen musst, bis die Bildquelle verfügbar ist, empfiehlt es sich unter Umständen auch, das ImageOpened-Ereignis zu behandeln. Beispielcode finden Sie im Beispiel für XAML-Bilder .

Hinweis

Sie können die automatische Verarbeitung für den Zugriff auf nicht qualifizierte Ressourcen mit aktuellen Skalierungs- und Kulturqualifizierern verwenden, oder Sie können ResourceManager und ResourceMap mit Qualifizierern für Kultur und Skalierung verwenden, um die Ressourcen direkt abzurufen. Weitere Informationen finden Sie unter Ressourcenverwaltungssystem.

Die Stretch-Eigenschaft ist wichtig für die Anwendung des Bilds, wenn es als Pinsel verwendet wird. Einige Bilder sehen gut aus, wenn sie so gestreckt werden, wie sie mit dem Fill-Verhalten auf eine bestimmte Brush-Eigenschaft angewendet wird, während andere Bilder nicht gut gestreckt oder skaliert werden und möglicherweise den Wert None oder Uniform for Stretch erfordern. Experimentieren Sie mit verschiedenen Werten für Stretch , um zu ermitteln, welches Verhalten am besten aussieht, wenn es auf die Benutzeroberfläche angewendet wird.

Bildquellen und Skalierung

Sie sollten Ihre Bildquellen in mehreren empfohlenen Größen erstellen, um sicherzustellen, dass Ihre App beim Skalieren Windows 8 gut aussieht. Wenn Sie eine ImageSource für einen ImageBrush angeben, können Sie eine Benennungskonvention verwenden, die automatisch auf die richtige Ressource für die aktuelle Skalierung verweist. Einzelheiten zur Namenskonvention sowie weiterführende Informationen findest du unter Schnellstart: Verwenden von Datei- oder Bildressourcen.

Weitere Informationen zum Entwerfen für die Skalierung finden Sie unter UX-Richtlinien für Layout und Skalierung.

Hinweise zu früheren Versionen

Windows 8

Windows 8 ein Problem mit der ImageSource-Auflösung eines XAML-Attribut-URI-Werts aufgetreten, wenn imageBrush Teil einer XAML-Formatvorlage oder Vorlage ist, die auf ein Steuerelement angewendet wird. Die Steuerelementverwendung verwendet manchmal einen komponentenspezifischen Basis-URI und nicht den entsprechenden Basis-URI für den Stil oder die Vorlage, der normalerweise von der App stammt. Das Problem wurde ab Windows 8.1 behoben. Der Basis-URI wird je nach Dem Bereich, der den Basis-URI benötigt, ordnungsgemäß für App-Ressourcen oder Komponentenressourcen bestimmt. Apps, die für Windows 8 kompiliert wurden, haben möglicherweise Problemumgehungen für dieses Verhalten verwendet, indem sie ihre Bildquelldateien an der "falschen" Stelle platzieren, an der der XAML-URI aufgelöst und die App die Bilder anzeigt. Wenn Sie XAML von Windows 8 zu Windows 8.1 migrieren, sollten Sie alle ImageBrush-Verwendungen in einem Stil oder einer Vorlage aus Ihrem XAML-Code testen und überprüfen, ob die Bildauflösung in Ihrer App mit Windows 8.1 funktioniert. Wenn Sie ein Problem haben, sollten Sie Ihre Bildquelldateien innerhalb des Pakets verschieben, sodass sie sich im richtigen Ressourcenbereich für das neue Verhalten befinden.

Apps, die für Windows 8 kompiliert wurden, aber unter Windows 8.1 ausgeführt werden, weisen weiterhin das Windows 8-Verhalten auf.

Konstruktoren

ImageBrush()

Initialisiert eine neue instance der ImageBrush-Klasse.

Eigenschaften

AlignmentX

Ruft die horizontale Ausrichtung des Inhalts auf der TileBrush-Basiskachel ab oder legt diese fest.

(Geerbt von TileBrush)
AlignmentY

Ruft die vertikale Ausrichtung des Inhalts auf der TileBrush-Basiskachel ab oder legt diese fest.

(Geerbt von TileBrush)
Dispatcher

Ruft den CoreDispatcher ab, dem dieses Objekt zugeordnet ist. CoreDispatcher stellt eine Funktion dar, die auf das DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
ImageSource

Ruft die von diesem ImageBrush angezeigte Bildquelle ab oder legt diese fest. Im Code legen Sie dies mit einer ImageSource-Unterklasse instance fest, in XAML legen Sie dies mit einem URI auf eine Bildquelldatei fest.

ImageSourceProperty

Identifiziert die ImageSource-Abhängigkeitseigenschaft .

Opacity

Ruft den Deckkraftgrad eines Pinsels ab oder legt diese fest.

(Geerbt von Brush)
RelativeTransform

Ruft die auf den Pinsel über relative Koordinaten angewendete Transformation ab oder legt diese fest.

(Geerbt von Brush)
Stretch

Ruft einen Wert ab, der angibt, wie der Inhalt dieser TileBrush-Datei an die Kacheln angepasst wird, oder legt diesen fest.

(Geerbt von TileBrush)
Transform

Dient zum Abrufen oder Festlegen der auf den Pinsel angewendeten Transformation.

(Geerbt von Brush)

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definiert eine Eigenschaft, die animiert werden kann.

(Geerbt von Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Definiert beim Überschreiben in einer abgeleiteten Klasse eine Eigenschaft, die animiert werden kann.

(Geerbt von Brush)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Ereignisse

ImageFailed

Tritt auf, wenn ein Fehler beim Abrufen oder Format von Bildern auftritt.

ImageOpened

Tritt auf, wenn die Bildquelle heruntergeladen und ohne Fehler decodiert wird. Sie können dieses Ereignis verwenden, um die Größe eines Bilds zu bestimmen, bevor Sie es rendern.

Gilt für:

Weitere Informationen