问题描述
我希望能够双击列表视图项目。我使用了 DoubleTapped 事件,但是当我双击列表视图(不是项目)事件时,我只想在 wpf 中处理项目(不是列表视图本身(面板,边框,...))我们可以通过创建 listviewitem 样式来简单地做到这一点:
<Style targettype="ListViewItem">
<EventSetter Event="MouseDoubleClick" Handler="ListViewItem_MouseDoubleClick" />
</Style>
但是这种方法在 uwp 中不起作用,我该怎么做?
解决方法
我希望能够双击列表视图项目。我使用了 DoubleTapped 事件,但是当我双击列表视图(不是项目)事件时,我只想处理项目(不是列表视图本身(面板,边框,...)),
UWP 平台不支持添加\n
,如果您想为enum class Fruit(val price: Double) {
MANGO(100.0);
fun printPrice(){
print(price)
}
}
添加EventSetter
,请将其添加到DoubleTapped
中。
例如
ListViewItem
如上面的代码,您可以收听ItemTemplate
<ListView VerticalAlignment="Bottom">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<Grid DoubleTapped="Grid_DoubleTapped">
<TextBlock Text="{Binding}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
,请注意我们需要将ListViewItem Grid
设置为DoubleTapped
以确保整个项目可以响应双击.