gpt4 book ai didi

wpf - 哪些原因会阻止应用显式和隐式样式?

转载 作者:行者123 更新时间:2023-12-05 00:38:15 26 4
gpt4 key购买 nike

我有一个 WPF 测试项目,我用它来回答 SO 问题,不知何故,这个项目随着时间的推移变得非常困惑,有些东西不再正常工作。这可能不是一个真正的问题,因为我可以把它扔掉并创建一个新的但显然这在每种情况下都不是一个可行的解决方案,所以我认为知道什么会导致这种行为可能会很有趣。

尤其令人惊讶的是,即使是显式样式也不适用。例如我有这种风格

<Style x:Key="EnlargeImageStyle" TargetType="{x:Type Image}">
<Setter Property="LayoutTransform">
<Setter.Value>
<ScaleTransform ScaleX="1" ScaleY="{Binding RelativeSource={RelativeSource Self}, Path=ScaleX}"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="2" Duration="0:0:0.3"
Storyboard.TargetProperty="LayoutTransform.ScaleX"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="1" Duration="0:0:0.3"
Storyboard.TargetProperty="LayoutTransform.ScaleX"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>

这是在 Window.Resources 中定义的我将它应用到一个最小定义的图像上,如下所示:
<Image Width="80" Height="48" Style="{StaticResource EnlargeImageStyle}">
<Image.Source>
<BitmapImage UriSource="pack://application:,,,/Images/Img.png"/>
</Image.Source>
</Image>

它不会做任何事情,如果我尝试隐式应用它,我也不会得到任何结果。

正如标题所说, 什么可以阻止应用显式和隐式样式?

(我不想将其限制在我的问题上,在野外可能遇到的任何原因都可以)

最佳答案

不应用隐式样式的常见原因有两个,我想命名:

目标元素...

  • ...在 DataTemplate 或 ControlTemplate 内(Application.Resources 不受此限制)
  • ...继承自 TargetType 中指定的类而不是相同。
  • 关于wpf - 哪些原因会阻止应用显式和隐式样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5831245/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com