2012-08-27 92 views
0

我想在我的Metro應用程序中顯示項目列表。我想只是顯示他們。我不想要任何種類的選擇,鼠標懸停,鍵盤控制或動畫效果。WinRT:只顯示項目列表

項目將顯示ItemTemplate,該列表將數據綁定,我想滾動(垂直和水平)。

這樣做最簡單的方法是什麼? ListView有很多默認設置,這使得「簡單顯示」項目成爲一項英雄任務。

回答

2

通過設置SelectionMode =「None」和IsHitTestVisible =「False」,ListView可以擺脫幾乎所有你想要的東西。這將使您無法選擇或突出顯示任何使用鼠標或鍵盤的元素。您仍然可以滾動並支持滾動的交互。不過,您仍然會看到動畫。

否則,您可能需要查看使用ItemsControl和ScrollViewer來獲得所需的效果。

+0

另外請注意,您可以更改控制模板從VisualStateManager刪除任何視覺反饋中提及](http://stackoverflow.com/questions/11790894/how-to-disable-listviews-hover-and-瓷磚效果)在一些以前的[問題](http://stackoverflow.com/questions/11774209/disable-cross-slide-selection-for-a-listview)關於同樣的事情 –

+0

我覺得有一個錯字。這樣做,我不會滾動或支持滾動的交互。 –

0

在第一個實例中使用ItemsControl。您可以根據需要添加數據模板,並使用ItemsPanel控件應用您的佈局。例如,下面的StackPanel允許方向切換到水平。

<ItemsControl ItemsSource="{Binding Users}" > 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Image Source="{Binding ImageUri}" Width="40" Height="40" Margin="5" /> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <StackPanel Orientation="Horizontal" /> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 
    </ItemsControl>