我的应用程序用户界面中有一个列表,当用户点击列表中的项目时,我想打开一个弹出窗口。据我所知,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"/>
谢谢!任何建议将不胜感激。
答案 0 :(得分:1)
HB suggested的作用是什么,虽然我发现将Events
绑定到Commands
的更永久的解决方案是使用一个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>
答案 1 :(得分:0)
将Button
放入ItemTemplate
(或通过ListViewItem.Template
设置ItemContainerStyle
)并将其绑定到命令,如果需要,可以将其设置为不可见