2013-01-20 81 views
1

我已閱讀文檔並嘗試了很多樣本​​,但說實話樣本看起來像一個大混亂的混亂,似乎沒有多大意義。基本列表視圖樣式

任何人都可以推薦任何容易關注如何在XAML中設置ListView控件的教程或文檔? (如果沒有的Expression Blend)

回答

1

樣式化ListView的兩個主要常用技巧是樣式化項目並更改列表框用於放置項目的容器種類。

樣式化的項目
這基本上意味着在XAML中ItemTemplate設置的東西,知道如​​何dispay是ListBox的ItemsSource通常使用綁定的內容,這件事。

例如,如果您有一個綁定到列表框中的ObservableCollection<Customer>其中客戶定義爲:

<ListBox> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel> 
       <TextBlock Text="{Binding CustomerName}" /> 
       <TextBlock Text="{Binding OrderReference}" /> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

答:

public class Order 
{ 
    public int Id { get; set; } 
    public string OrderReference { get; set; } 
    public string CustomerName { get; set; } 
} 

然後如下你可能風格,配有數據模板的項目基本的例子,但你明白了。

更改項目的佈局方式
從本質上講,你可能不希望在那裏件垂直列出的默認行爲,所以你可以改變列表框內部使用的東西更適合使用ItemsPanel屬性的容器控件。例如,如果您的項目模板看起來像是Windows資源管理器中「大圖標」視圖中的項目,那麼您可能希望列表框使用WrapPanel而不是StackPanel(我很確定它是StackPanel):

<ListBox> 
    <ListBox.ItemsPanel> 
     <DataTemplate> 
      <WrapPanel> 
       <ContentPresenter /> 
      </WrapPanel> 
     </DataTemplate> 
    </ListBox.ItemsPanel> 
</ListBox> 

再次是一個基本的例子。

我把所有這些代碼從內存寫入StackOverflow,所以如果在那裏有一些錯別字或誤記的位,我會很抱歉。

HTH。

+0

感謝堆@尼爾,這真的很有幫助。 – Tommy