2011-07-04 6 views
0

열을 목록 컨트롤에 추가하려고합니다. 실행 중에 열 번호가 다를 수 있기 때문에 런타임에 만들려고합니다. 어떻게해야합니까?Windows Phone 7의 목록 컨트롤에 열을 추가하는 방법은 무엇입니까?

+0

목록을 전체 또는 개별 ListItem으로 추가 하시겠습니까? 너 뭐 해봤 니? –

+0

목록에 항목을 추가하려고하지만 I1 I2 I3 I4와 같이 표시해야합니다. 행을 구분하지 않습니다. 나는 그리드로 그것을하려하지만, 스크롤 할 수 있도록 붙어있다. – rubyraj

답변

1

첫째, 앱의 모양을 제어 할 수 없으며 매우 나 빠지고 읽을 수 없거나 두 가지 모두로 쉽게 끝날 수 있으므로 진정한 가변 개수의 열을 갖는 것은 좋지 않은 아이디어입니다.

목록의 각 행에 대해 여러 열을 추가하려는 경우 (스포츠 리그 표를 표시하는 것과 비슷합니다) ListItemTemplate에 표를 추가하여 각 셀의 고정 폭을 설정해야합니다. 방금 대신 수평 스크롤 목록을 확인하려면

수직 다음에 그 작업을 수행 할 수 있습니다 스크롤 막대 보이기는 또한 스크롤 할 수 있는지 여부를 제어하는 ​​

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <ListBox ItemsSource="{Binding MyList}" 
      ScrollViewer.HorizontalScrollBarVisibility="Auto" 
      ScrollViewer.VerticalScrollBarVisibility="Disabled"> 
     <ListBox.ItemsPanel> 
      <ItemsPanelTemplate> 
       <!-- Could be a VirtualizingStackPanel if you wish --> 
       <StackPanel Orientation="Horizontal" /> 
      </ItemsPanelTemplate> 
     </ListBox.ItemsPanel> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <!-- Style set to enhance need for scrolling --> 
       <TextBlock Style="{StaticResource PhoneTextExtraLargeStyle}" 
          Text="{Binding}" /> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
</Grid> 

참고.

+0

그 덕분에 괜찮 았어. 그러나 문제가 있습니다. 목록을 10 개의 항목으로 스크롤 한 다음 목록에서 항목을 선택한 것으로 가정합니다. 이제 새 항목으로 목록을 다시 채울 때로드 한 후 디스플레이에는 마지막으로 스크롤 한 위치의 항목이 표시됩니다. 첫 번째 항목으로 스크롤을 재설정하고 싶습니다. 목록 상자의 첫 번째 항목을 전달하여 목록 상자 scrollintoview (개체) 시도했지만 작동하지 않습니다. 나는 그렇게 할 수있는 방법이있다. – rubyraj

+0

@rubyraj 위치를 재설정하려면 내부 스크롤 뷰어에서'ScrollToVerticalOffset (0)'을 호출하면됩니다. –

관련 문제