2012-01-18 3 views
0

내가 윈도우 폰 7에서 ListView에 바인드 된 오브젝트의 목록을 가지고 다음과 같이 바인딩 한 :윈도우 폰 목록보기 헤더가

<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시

NAME2 19시

NAME3 13시 .

.

.

.

목록보기를 사용하면 가능합니까? 아니면 내가 그리드와 같은 다른 것을 사용해야합니까?

감사합니다.

답변

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

감사 파반을 :) willmel! 그것은 내가 필요로했던 바로 그 것이었다. – Cranialsurge

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> 

는 그리고 지금까지 헤더를 추가, 당신은 더미 항목 추가 could-, 또는 단지 전체 ListBox 위의 일반 컨트롤을 사용합니다. 그것은 항목으로 스크롤할지 여부에 따라 다릅니다. 당신이 그것을 스크롤하려면

, 하나는 헤더 인 더미 항목을 추가하거나 ListBox에 스크롤 비활성화 ListBox 위의 헤더를 추가하고 ScrollViewer에 둘 포장.

+0

덕분에 – Cranialsurge