2012-01-18 28 views
0

我在Windows Phone 7的結合到ListView對象的列表,並按如下已綁定它:Windows Phone的列表視圖頭

<ListBox Height="595" HorizontalAlignment="Left" Margin="9,6,0,0" Name="lst_Today" VerticalAlignment="Top" Width="441" ScrollViewer.VerticalScrollBarVisibility="Visible" SelectionChanged="lst_Today_SelectionChanged" ItemsSource="{Binding}" > 
        <ListBox.ItemTemplate>        
         <DataTemplate>         
          <StackPanel Orientation="Horizontal">          
           <TextBlock Text="{Binding Name}"></TextBlock> 
           <TextBlock Text="{Binding StartTime}"></TextBlock> 
          </StackPanel>         
         </DataTemplate>        
        </ListBox.ItemTemplate> 
       </ListBox> 

我得到的輸出看起來像這樣

Name118:00

Name219:00

Name313:00 。

我想補充一些間隔兩個屬性之間(即名稱和開始時間)並有可能添加列標題的列表中,這樣的結果是這樣的:

名稱開始時間

名1 18:00

名2 19:00

NAME3 13:00 。

這是可能的使用列表視圖或應該使用其他類似的網格?

謝謝!

回答

2
<Grid Height="500"> 

<Grid.RowDefinitions> 
     <RowDefinition Height="50"/> 
     <RowDefinition Height="100*"/> 
</Grid.RowDefinitions> 
<Grid.ColumnDefinitions> 
     <ColumnDefinition Width="100"/> 
     <ColumnDefinition Width="100"/> 
    </Grid.ColumnDefinitions> 


    <TextBlock Text="Name" Grid.Row="0" Grid.Column="0" Padding="10" /> 
    <TextBlock Text="Start Time" Grid.Row="0" Grid.Column="1" Padding="10" /> 

    <ListBox Height="595" HorizontalAlignment="Left" Margin="9,6,0,0" Name="lst_Today" VerticalAlignment="Top" Width="441" Grid.Row="1" Grid.ColumnSpan="2"> 
    ....... 
    </listBox> 


</Grid> 

試試這一個,我認爲它有助於你...

+0

謝謝帕萬!那正是我需要的。 – Cranialsurge 2012-01-18 19:29:15

0

你有什麼是完全正確的,你只需要設置保證金給你的項目之間的一些間距。 2號的TextBlock

<ListBox Height="595" HorizontalAlignment="Left" Margin="9,6,0,0" Name="lst_Today" VerticalAlignment="Top" Width="441" ScrollViewer.VerticalScrollBarVisibility="Visible" SelectionChanged="lst_Today_SelectionChanged" ItemsSource="{Binding}" > 
        <ListBox.ItemTemplate>        
         <DataTemplate>         
          <StackPanel Orientation="Horizontal">          
           <TextBlock Text="{Binding Name}"></TextBlock> 
           <TextBlock Margin="10,0,0,0" Text="{Binding StartTime}"></TextBlock> 
          </StackPanel>         
         </DataTemplate>        
        </ListBox.ItemTemplate> 
       </ListBox> 

10px的保證金也可以使用一個網格,而不是StackPanel中。如果您創建了列定義,並且不使用該列,它將與邊距工作相同,但更加明確。

<ListBox Height="595" HorizontalAlignment="Left" Margin="9,6,0,0" Name="lst_Today" VerticalAlignment="Top" Width="441" ScrollViewer.VerticalScrollBarVisibility="Visible" SelectionChanged="lst_Today_SelectionChanged" ItemsSource="{Binding}" > 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <Grid> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="Auto" /> 
           <ColumnDefinition Width="10" /> 
           <ColumnDefinition Width="Auto" /> 
          </Grid.ColumnDefinitions> 
          <TextBlock Grid.Column="0" Text="{Binding Name}"></TextBlock> 
          <TextBlock Grid.Column="2" Text="{Binding StartTime}"></TextBlock> 
         </Grid> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 

並儘可能增加一個頭,你可以─添加一個虛擬項目,或只使用整個ListBox比普通控制。這取決於您是否希望它與項目滾動或不。

如果你想讓它滾動,要麼添加一個虛擬項目是標題,或禁用滾動的ListBox,添加ListBox上面的標題,並在ScrollViewer包裝他們。

+0

感謝willmel :) – Cranialsurge 2012-01-19 08:12:28