2012-10-14 25 views
3

我正在開發一個需要自己的自定義文件管理器/資源管理器的程序。 這是非常典型的:我有一個用戶控件(名爲FileItem),它包括一個圖像(縮略圖)和一個標籤(文件名)。列表框中的統一網格

我遇到的問題是與佈局;我需要它在一個網格佈局(所以我使用統一的電網,其指甲吧),酷似Windows資源管理器,當你在圖標視圖:

Windows Explorer

我還需要能夠選擇文件,或多個文件等ListBox完美。 問題是我不能同時使用兩者。

所以我試圖在列表框中插入一個統一網格。佈局很棒,但我無法選擇文件(就像ListBox不在那裏一樣)。

建議使用ListView的快速Google搜索,但由於它具有固定的列和行(並且在我正在處理的大小的程序中將發生更改),因此它不會很好。

那麼,我該如何精確實現ListBox和Uniform Grid的功能呢?

編輯(重要): 如果你還需要這個看看,並希望得到答案,我其實推薦WrapPanel而不是統一網格。它將自動允許您根據內容動態更改行數。

回答

4

設定ListBox的ItemsPanel到UniformGrid你可以這樣做:

<ListBox> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <UniformGrid IsItemsHost="True" /> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
    <ListBoxItem Content="Grid Item 1" /> 
    <ListBoxItem Content="Grid Item 2" /> 
    <ListBoxItem Content="Grid Item 3" /> 
    <ListBoxItem Content="Grid Item 4" /> 
    <ListBoxItem Content="Grid Item 5" /> 
    <ListBoxItem Content="Grid Item 6" /> 
    <ListBoxItem Content="Grid Item 7" /> 
    <ListBoxItem Content="Grid Item 8" /> 
    <ListBoxItem Content="Grid Item 9" /> 
    <ListBoxItem Content="Grid Item 10" /> 
</ListBox> 

你不應該有這種選擇的問題,當你想要的物品將被顯示出來。