【发布时间】:2011-04-29 11:10:19
【问题描述】:
我有一个 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>
而且它不会做任何事情,如果我尝试隐式应用它,我也不会得到任何结果。
如标题所述,什么会阻止显式和隐式样式的应用?
(我不想把这个限制在我的问题上,任何可能在野外遇到的原因都可以)
【问题讨论】:
标签: wpf debugging xaml resources styles