【发布时间】:2016-04-14 04:52:46
【问题描述】:
UWP 中的普通 ListView(使用 SelectionMode="Single")在您单击时选择项目,并在您按住 Ctrl 并单击时取消选择项目。
我想更改取消选择功能,以便您无需按 Ctrl 即可取消选择项目。只需再次单击所选项目即可删除选择。
似乎在设置 SelectionMode="Multiple" 时,再次单击项目会像我想要的那样取消选择它,但我不想选择多个项目。
更新
这就是我现在的做法。所以我正在监听 SelectionChanged 事件,当事件被触发时,我会从 ListView selectedItem 属性中获取所选项目。
<ListView ItemsSource="{x:Bind ViewModel.Cars}" SelectedItem="{Binding SelectedCar, Mode=TwoWay}" SelectionMode="Single">
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="SelectionChanged">
<core:InvokeCommandAction Command="{Binding CarSelectedCommand}" />
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
<ListView.ItemTemplate>
<DataTemplate x:DataType="model:ICar">
<StackPanel>
<TextBlock Text="{x:Bind Name}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
【问题讨论】:
-
我在这里找到了答案,stackoverflow.com/questions/34458244/…。很好奇,因为我没有那个 ctrl-click 用来取消选择
-
添加了质疑我现在做得如何的例子。根据您的链接,也许我需要尝试使用 ItemClick 事件来做到这一点?
标签: c# xaml listview windows-10 uwp