【问题标题】:WPF - Target a ContentPresenter's Resource with a ColorAnimationUsingKeyFramesWPF - 使用 ColorAnimationUsingKeyFrames 定位 ContentPresenter 的资源
【发布时间】:2013-07-11 06:13:15
【问题描述】:

所以我的问题是,我在 WPF 中有一个带有 ContentPresenter 的按钮,该按钮具有文本块的资源:

<ContentPresenter Name="contentHolder" Width="55.77" Height="10.979" RenderTransformOrigin="0.5,0.5" Canvas.Left="3.646" Canvas.Top="9.608" 
                          Margin="2"                              
                          HorizontalAlignment="Center"
                          VerticalAlignment="Center"                              
                          RecognizesAccessKey="True">
   <ContentPresenter.Resources>
      <Style TargetType="{x:Type TextBlock}">
         <Setter Property="HorizontalAlignment" Value="Center"/>
         <Setter Property="VerticalAlignment" Value="Center"/>
         <Setter Property="FontFamily" Value="Arial"/>
         <Setter Property="FontSize" Value="10.667"/>
         <Setter Property="Foreground" Value="#FF141006"/>
         <Setter Property="TextAlignment" Value="Center"/>
         <Setter Property="TextWrapping" Value="Wrap"/>
      </Style>
   </ContentPresenter.Resources>
</ContentPresenter> 

并且我有一个故事板,它正在更改按钮的背景颜色及其内容(正常/鼠标悬停/按下/禁用)。一切都很好....期望按钮的内容在按下时不会改变文本颜色。我的 ColorAnimationUsingKeyFrames 看起来像这样:

<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="contentHolder" Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)">
   <SplineColorKeyFrame KeyTime="00:00:00" Value="White"/>
</ColorAnimationUsingKeyFrames>

如前所述,我的所有触发器以及无法正常工作的触发器,唯一的问题是内容呈现器中 textBlock 的文本没有改变......有人对此事有任何见解吗?

【问题讨论】:

  • 如果您删除TextBlockContentPresenter 资源的Style Setter 中的设置Foreground 是否有效?如果是这样,可能是一个优先案例。您最好发布此类问题的完整样式。有太多问题无法在没有上下文的情况下做出正确的猜测,“更改按钮的背景颜色”-> 是 Button.Background 你的动画还是TextBlock.Background,“预计按钮的内容在按下时不会改变文本颜色”那么它是否可以切换为 Over, Disabled?如果您发布完整的Style,我们可以在这里看到实际发生的情况
  • 因此,删除样式 Setter 中的前景可以解决问题,您能否将其发布为答案,以便我将其标记为已解决。谢谢!
  • 添加了那一点评论作为答案,不客气:)

标签: wpf storyboard coloranimation


【解决方案1】:

将我的评论转换为答案。

如果您在 ContentPresenter 的 TextBlock 资源的样式设置器中删除设置 Foreground 是否有效?如果是这样可能是优先的情况......

【讨论】:

    猜你喜欢
    • 2018-01-04
    • 1970-01-01
    • 2015-07-25
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多