gpt4 book ai didi

wpf - WPF列表框在MouseOver上的ItemTemplate中显示按钮

转载 作者:行者123 更新时间:2023-12-03 08:36:37 25 4
gpt4 key购买 nike

我有一个包含和图像和按钮的列表框。默认情况下,该按钮是隐藏的。我想将鼠标悬停在列表框中的某个项目上时使按钮可见。
我正在使用的XAML如下。谢谢

<Window.Resources>
<Style TargetType="{x:Type ListBox}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Border BorderBrush="Black" BorderThickness="1" Margin="6">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Path=FullPath}" Height="150" Width="150"/>
<Button x:Name="sideButton" Width="20" Visibility="Hidden"/>
</StackPanel>
</Border>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>

最佳答案

好的,在您的按钮声明中尝试以下操作:

<Button x:Name="sideButton" Width="20">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsMouseOver}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>

因此,我使用带有触发器的样式来备份可视树,直到找到 ListBoxItem,并且当其 IsMouseOver属性翻转为 True时,将 button的可见性设置为 Visible

看看它是否接近您想要的。

关于wpf - WPF列表框在MouseOver上的ItemTemplate中显示按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/206495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com