Tôi có một số Button
ControlTemplate
và tôi đang cố sửa đổi DropShadowEffect
trên Border
bằng cách sử dụng Trigger
. Đây là Xaml của tôi:Làm cách nào để đặt thuộc tính của DropShadowEffect qua Trình kích hoạt trong ControlTemplate?
<Button.Template>
<ControlTemplate TargetType="Button">
<Border x:Name="ButtonBorder" Margin="10" CornerRadius="5" Background="Gray">
<Border.Effect>
<DropShadowEffect ShadowDepth="5" x:Name="BorderEffect" />
</Border.Effect>
<ContentPresenter HorizontalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsMouseOver" Value="True">
<Setter Property="Background" TargetName="ButtonBorder" Value="LightGray" />
</Trigger>
<Trigger Property="Button.IsPressed" Value="True">
<Setter Property="Margin" TargetName="ButtonBorder" Value="13,13,7,7" />
<!-- this is where I get the error -->
<Setter Property="ShadowDepth" TargetName="BorderEffect" Value="2" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
Tôi gặp lỗi khi nói rằng không thể tìm thấy BorderEffect.
Tôi cũng đã cố gắng:
<Setter Property="Effect.ShadowDepth" TargetName="ButtonBorder" Value="2" />
Nhưng tôi cũng nhận được một lỗi nói với tôi rằng tài sản ShadowDepth
không thể được tìm thấy trên các đối tượng của loại Effect
(vì nó sử dụng các lớp cơ sở thay vì DropShadowEffect
)
Tôi làm cách nào để giải quyết vấn đề này?
Yep, đó là những gì tôi đã kết thúc sử dụng, nhưng tôi đó là Có cách nào để chỉ cần sửa đổi các tài sản tôi cần ... Cảm ơn :-) –