gpt4 book ai didi

.net - WPF ListViewItem 失去焦点事件 - 如何获取该事件?

转载 作者:行者123 更新时间:2023-12-02 09:18:16 25 4
gpt4 key购买 nike

我有一个 ListView ,您可以在其中选择行/项目。它链接到在行上显示图像的数据触发器。仅当选择该行时才应显示图像。

这部分工作正常,但是当您将焦点移至其他内容(例如文本框)或显示消息框时, ListView 项目将失去焦点,即不再显示行上的突出显示。问题是我的形象仍然存在。当 ListView 失去焦点时,它应该隐藏/折叠...如果您在 ListView 上选择不同的项目/行,它可以正常工作。

有人可以帮忙吗?

<Style x:Key="deleteImageStyle" TargetType="{x:Type Image}">
<Setter Property="Source" Value="Resources/iconDelete.png" />
<Setter Property="Margin" Value="0,2,5,0" />
<Setter Property="Height" Value="16" />
<Setter Property="Width" Value="16" />
<Setter Property="HorizontalAlignment" Value="Right" />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Cursor" Value="Hand" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}" Value="False">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Visibility" Value="Hidden" />
</Trigger>
</Style.Triggers>
</Style>

问候

特拉维斯PUK

最佳答案

我认为您混淆了 IsSelected 和 IsFocused。

尝试将触发器绑定(bind)到 IsFocused而不是 IsSelected 来获得您想要的结果。

如果我理解正确的话,您只希望当 IsSelected 和 IsFocused 都为 true 时图像可见,否则隐藏。

实现此目的的一种方法是将默认可见性设置为可见,然后添加两个将可见性设置为隐藏的触发器:一个触发器用于 IsSelected = False,另一个触发器用于 IsFocused = False。

或者相反,将默认可见性设置为隐藏,并使用 IsSelected = True 和 IsFocused = True 的 MultiTrigger 将其可见性设置为可见

关于.net - WPF ListViewItem 失去焦点事件 - 如何获取该事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/466555/

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