1

我的应用程序 UI 中有一个列表,当用户单击列表中的某个项目时,我想打开一个弹出窗口。据我所知,没有任何Click事件ListViewItem可以帮助我解决这个问题。该SelectionChanged事件也不起作用,因为用户可以关闭弹出框,并且我希望能够再次打开它,而无需他们先在列表中选择不同的项目。

这就是我的ListView创建代码的样子,因为它的价值:

<ListView x:Name="_resultsListView"
          ItemsSource="{Binding AvailableResults}"
          SelectedItem="{Binding SelectedResult}"
          ItemContainerStyle="{StaticResource LoadResultItemStyle}"
          VirtualizingStackPanel.IsVirtualizing="True"
          Style="{DynamicResource DefaultListViewStyle}" BorderThickness="0"/>

谢谢!任何建议,将不胜感激。

4

2 回答 2

1

HB 建议的工作,虽然我发现一个更永久的绑定解决方案EventsCommands使用AttachedCommandBehavior,它可以让您将命令附加到几乎任何事件

<Style TargetType="{x:Type ListViewItem}">
    <Setter Property="local:CommandBehavior.Event" Value="Click" />
    <Setter Property="local:CommandBehavior.Command" Value="{Binding DataContext.MyCommand, ElementName=MyListView}" />
    <Setter Property="local:CommandBehavior.CommandParameter" Value="{Binding }" />
</Style>
于 2012-06-29T18:53:47.197 回答
0

将 aButton放入ItemTemplate(或ListViewItem.Template通过 设置ItemContainerStyle)并将其绑定到命令,如果需要,您可以将其设置为不可见。

于 2012-06-29T18:41:37.677 回答