更新:2007 年 11 月
本示例演示如何在可扩展应用程序标记语言 (XAML) 中使用自定义效果。
自定义效果是使用非托管 API 创建的,它们将生成一个组件对象模型 (COM)动态链接库 (DLL)。若要在托管代码中使用自定义效果,可以使用托管程序集来定义 BitmapEffect 并与 组件对象模型 (COM) 库进行交互。若要在应用程序中使用此自定义效果,必须引用该程序集,而效果必须使用该程序集引用的命名空间。有关完整示例,请参见 自定义 BitmapEffect 示例 - RGBFilter 示例。
示例
下面的示例演示如何定义命名空间并引用实现自定义效果的程序集。
<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">
下面的示例通过引用上面示例中提供的命名空间来使用自定义效果。
<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>
请参见
任务
自定义 BitmapEffect 示例 - RGBFilter 示例