我在一个场景中有两个列表视图(listview1 和 listview2,listview2 的内容取决于 listview1 上的选定项),当我导航到场景时,我希望选择 listview1 中的第一个项目并将详细信息显示在另一个列表视图中( listview2) 但我不希望默认选择 listView2 中的任何项目。
我观察到的是 listView2 中的第一项也被选中,这导致为 listview2 触发 selectionchanged 事件(我只想在用户明确选择它时触发)
我在一个场景中有两个列表视图(listview1 和 listview2,listview2 的内容取决于 listview1 上的选定项),当我导航到场景时,我希望选择 listview1 中的第一个项目并将详细信息显示在另一个列表视图中( listview2) 但我不希望默认选择 listView2 中的任何项目。
我观察到的是 listView2 中的第一项也被选中,这导致为 listview2 触发 selectionchanged 事件(我只想在用户明确选择它时触发)
无需解决方法。只需IsSynchronizedWithCurrentItem="False"
在您的 ListView 中设置。这也适用于 GridView。
selectionchanged
事件将被触发且无法停止。但它可以在后面的代码中绕过(使用标志)。
如果ListView
绑定到CollectionViewSource
,CollectionViewSource
则将第一个项目设置为选中。
如果 ListView 绑定到常规Collection
,则不会自动选择任何项目。
这是因为您可能通过 XAML 设置了列表视图 1 和 2 的事件处理程序。如果您首先设置数据源和选定项,然后通过您的代码设置事件处理程序,我认为它运行良好。