我正在使用MahApps.Metro,并且正在使用一个Tile元素,该元素已加载了名称空间'MahCtrl'(xmlns:MahCtrl="http://metro.mahapps.com/winfx/xaml/controls
)。我想将ColorAnimation
应用于MouseEnter
和MouseLeave
上的图块。
这是我目前正在使用的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
如果有人可以参考有关此主题的文档,那将是一个很大的帮助
非常感谢您,