XAML代码中的强制类型转换权限

本文关键字:类型转换 权限 代码 XAML | 更新日期: 2023-09-27 18:24:48

我是一个WPF新手,我的问题是我想在XAML代码中将一些属性类型强制转换为另一个权限,如下所示:

//I want to cast Effect to DropShadowEffect to access it's ShadowDepth
<Trigger Property="IsPressed" Value="True">
   <Setter Property="Effect.ShadowDepth" Value="0.5"/>
</Trigger>

但是ShadowDepth是不可访问的,Effect应该首先被广播到DropShadowEffect。你能给我看一下我可以在XAML代码中正确执行强制转换的任何解决方案吗。如果不可能的话,代码背后的TypeConverter就可以了。提前谢谢。

XAML代码中的强制类型转换权限

我看到了两种可能性:

  1. 在setter中重新创建DropShadowEffect,重新创建对象的Effect

  2. DropShadowEffect一个名称,并使用TargetName:直接引用对象

    <Setter TargetName="dropShadow" Property="ShadowDepth" Value="0.5" />