2012-07-09 58 views
1

我有一個場景兩個列表視圖禁用列表視圖的默認選擇(ListView1的和listview2,listview2的內容取決於在ListView1的的selectedItem屬性),當我瀏覽到現場我想第一在ListView1的項目進行選擇,並詳細顯示在列表視圖其他(listview2),但我不想在listView2默認選中的任何項目。如何,當你找到它

我所觀察到的是,在listView2的第一個項目也被選中,並且是造成listview2被觸發SelectionChanged事件(這是我想被觸發只有在用戶明確選擇它)

回答

0

這是因爲你通過XAML設置列表視圖1 & 2的事件處理程序,也許。 如果設置數據源,並選擇第一項,然後,通過 代碼中設置事件處理程序的背後,它工作得很好,我想。

1

selectionchanged事件將被觸發,無法停止。但是它可以在後面的代碼中繞過(使用標誌)。

如果ListView綁定到CollectionViewSource,CollectionViewSource將第一項設置爲選定。

如果ListView控件綁定到正規Collection,沒有項目將被自動選擇。

+0

如果我使用「收藏」我得到一個錯誤說收藏是不是在Metro風格的項目的支持。那麼我的解決方案是否在第一次加載和分配之後才設置選擇更改的事件? – gforg 2012-07-22 19:20:22

6

無需解決方法。 就在您的ListView設置IsSynchronizedWithCurrentItem="False"。 這也適用於GridViews。

+0

這在WinRT中不適用於我。 (Windows 8.1中,.NET 4.5.1.0)我最終什麼事做的是我的ListView的的SelectionMode設置爲無,接線,螺紋在該項目的數據模板的事件。這種方式應用程序只處理用戶交互,而不是MS認爲應該選擇:) – Jack 2014-12-19 23:19:28