在一个网格中有一些元素,我想要的是当鼠标悬停在一个矩形上时显示/隐藏按钮。
最初的回答:
<UserControl ...>
<Grid>
<Rectangle ...>
<Button ...>
</Grid>
</UserControl>
我尝试了几个触发器,但迄今为止都没有成功。请帮忙。原始答案翻译成"最初的回答"。
BoolenToInvisibilityConverter
PS:如果你想要反转逻辑,你需要在样式中设置可见性,否则它会被覆盖。 <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中,触发器的使用有时会让人感到困惑,但不用担心,你会学会适应它的!