网格中有一些元素,我只想在鼠标悬停在矩形上方时显示/隐藏按钮。
<UserControl ...>
<Grid>
<Rectangle ...>
<Button ...>
</Grid>
</UserControl>
我已经尝试了多个触发器,但到目前为止仍未成功。请帮忙。
答案 0 :(得分:1)
这是您需要的:
绑定到控件以触发它的数据触发器
或者,您可以使用类似BoolenToInvisibilityConverter
如果要反转逻辑,则需要在样式中设置可见性,否则将被覆盖
<StackPanel>
<Rectangle Fill="Red" Height="20" Width="29" Name="MyRect"/>
<Button>
<Button.Style>
<Style TargetType="Button">
<!--<Setter Property="Visibility" Value="Hidden"/>-->
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyRect, Path=IsMouseOver}" Value="True">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
Wpf中的触发风景有时会令人困惑,不要担心您会学会使用它!