Freigeben über


Gewusst wie: Verwenden eines benutzerdefinierten visuellen Effekts

Aktualisiert: November 2007

In diesem Beispiel wird gezeigt, wie ein benutzerdefinierter Effekt in Extensible Application Markup Language (XAML) verwendet wird.

Benutzerdefinierte Effekte werden mit nicht verwalteter API erstellt und erstellen eine Component Object Model (COM) Dynamic Link Library (DLL). Um benutzerdefinierte Effekte in verwaltetem Code verwenden zu können, wird eine verwaltete Assembly zur Definition des BitmapEffect und zur Interaktion mit der Component Object Model (COM)-Bibliothek genutzt. Um benutzerdefinierte Effekte in einer Anwendung zu verwenden, muss auf die Assembly verwiesen werden und der Effekt muss den Namespace verwenden, auf den die Assembly verweist. Das vollständige Beispiel finden Sie unter Beispiel für benutzerdefinierten BitmapEffect: RGBFilter.

Beispiel

Im folgenden Beispiel wird gezeigt, wie ein Namespace definiert und auf die Assembly verwiesen wird, die den benutzerdefinierten Effekt implementiert.

<Window x:Class="RGBFilterEffectTest.Window1"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
    Title="RGBFilterEffectTest" Height="400" Width="300"
    xmlns:RGBFilter="clr-namespace:RGBFilter;assembly=ManagedRGBFilterBitmapEffect"
    xmlns:MappingPIGen1="clr-namespace:RGBFilter;assembly=ManagedRGBFilterBitmapEffect">

Im folgenden Beispiel wird der benutzerdefinierte Effekt verwendet, indem auf den Namespace aus dem oben erwähnten Beispiel verwiesen wird.

<Image Name="RTB" Source="images/kittens.jpg">
  <Image.BitmapEffect>
    <RGBFilter:RGBFilterBitmapEffect >
      <RGBFilter:RGBFilterBitmapEffect.Red>
        <Binding ElementName="redSlider" Path="Value"/>
      </RGBFilter:RGBFilterBitmapEffect.Red>
      <RGBFilter:RGBFilterBitmapEffect.Green>
        <Binding ElementName="greenSlider" Path="Value"/>
      </RGBFilter:RGBFilterBitmapEffect.Green>
      <RGBFilter:RGBFilterBitmapEffect.Blue>
        <Binding ElementName="blueSlider" Path="Value"/>
      </RGBFilter:RGBFilterBitmapEffect.Blue>
    </RGBFilter:RGBFilterBitmapEffect >
  </Image.BitmapEffect>
</Image>

Siehe auch

Aufgaben

Beispiel für benutzerdefinierten BitmapEffect: RGBFilter

Konzepte

Übersicht über Bitmapeffekte

Referenz

Unmanaged BitmapEffect API