将彩色动画添加到Mah:Tile

时间:2018-09-04 15:38:26

标签: wpf xaml mahapps.metro coloranimation

我正在使用MahApps.Metro,并且正在使用一个Tile元素,该元素已加载了名称空间'MahCtrl'(xmlns:MahCtrl="http://metro.mahapps.com/winfx/xaml/controls)。我想将ColorAnimation应用于MouseEnterMouseLeave上的图块。

这是我目前正在使用的xaml代码段。

<UserControl xmlns:MahCtrl="http://metro.mahapps.com/winfx/xaml/controls">
   <MahCtrl:Tile Cursor="Hand" Background="Transparent" Height="200" Width="210"HorizontalContentAlignment="Center">     
        <MahCtrl:Tile.Triggers>
            <EventTrigger RoutedEvent="MouseEnter">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation
                                Duration="0:0:0.200"   
                                Storyboard.TargetProperty="(MahCtrl:Tile.Background).Color" 
                                To="#fffccc" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
            <EventTrigger RoutedEvent="MouseLeave">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation 
                                  Duration="0:0:0.250"   
                                  Storyboard.TargetProperty="(MahCtrl:Tile.Background).Color" 
                                  To="#ffffff" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
       </MahCtrl:Tile.Triggers>
    </MahCtrl:Tile>
</UserControl>

在调试部分,当我将鼠标输入到Tile中时,发生以下异常

  

System.InvalidOperationException:'无法解析所有属性   属性路径'(0).Color'中的引用。确认适用   对象支持属性。'

我尝试过将(Background).Color和许多其他组合用于StoryBoard.TargetProperty,但是当MahCtrl:Tile元素被堆栈面板包装并应用事件触发器MouseEnter时,此方法有效MouseLeave和目标(StackPanel.Background).Color触发StackPanel。如何定位MahCtrl:Tile

的背景属性

如果有人可以参考有关此主题的文档,那将是一个很大的帮助

非常感谢您,

0 个答案:

没有答案