【发布时间】:2019-05-22 20:00:54
【问题描述】:
我对 XAML 非常陌生,我正在尝试模仿以下 => 菜单 example menu(我说的是 google、facebook 等的菜单项)
预期行为:
- Hoover 在按钮下方
- 应该看起来像:
我的代码只给了我:
如何实现预期的输出 - 让我的 TextBlock 出现并成为按钮的一部分?
我的第一种方法是使用网格并创建两列,第二列始终隐藏并仅在 hoover 上显示。然后我想出了下面的按钮方法,最后我发现了 Expander 类......不确定什么是正确的方法,下面是我到目前为止的方法,显然与预期的输出相去甚远。
<Button Name="button1" Width="170" Height="170" Cursor="Hand">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<Image Width="48" Height="48" Source="https://pbs.twimg.com/profile_images/638750728354430976/HnTYCHzN_400x400.png" />
<TextBlock Visibility="Hidden" Width="100" Height="70" VerticalAlignment="Center" HorizontalAlignment="Center" Background="pink">
MenuItem1
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=button1}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</StackPanel>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background" Value="Green"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="Margin" Value="20,0,0,0" />
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
【问题讨论】: