我有一个Border控件,它拥有一个Image控件。基本上我想显示边框控件,如果图像控件是悬停的。 类似于css的东西:悬停效果。
最简单的方法是什么?
答案 0 :(得分:0)
有所以有很多方法可以实现这一点,这完全取决于你的设置。
DataTemplate
内的ListView
还是其他一些项控件?如果只有一张图片,您可以处理图片控件上的PointerEntered
和PointerExited
事件,将边框的BorderBrush
颜色设置为黄色(例如)和透明的。既然你说你是XAML的新手,那么这是唯一最简单的"我能提供的解决方案。也许别人可以提出其他简单的替代方案。不幸的是,没有":悬停"类似的样式开箱即用。你必须自己编写这个功能。
我首选的解决方案是将此功能捆绑到某种可重用的组件中。想到的一些解决方案:
UserControl
Border
和Image
,以处理指针进入和退出事件。ContentControl
,允许您在UIElement
内设置任意Border
。这也允许您使用TemplateBinding
来设置模板外部的BorderBrush
等内容。Behavior
(Blend SDK),可以附加到包含必要逻辑的Border
。关于Blend SDK的主题,如果您使用VisualState
并混合EventTriggerBehavior
和{{1},则无需代码隐藏即可实现解决方案1和解决方案2 }处理GoToStateAction
和PointerEntered
事件中不断变化的视觉状态。