2011-07-04 10 views
0

列をリストコントロールに追加したいと考えています。実行中に列noが変わる可能性があるため、実行時にそれらを作成したいと思います。だから私はどうすればいいの?Windows Phone 7のリストコントロールに列を追加するにはどうすればよいですか?

+0

リスト全体または個々のListItemsとして列を追加したいですか?何を試しましたか? –

+0

リストに項目を追加したいのですが、I1 I2 I3 I4のように表示する必要があります。私はグリッドでそれをやろうとしましたが、私はそれらをスクロール可能にしました。 – rubyraj

答えて

1

第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)'を呼び出すだけで、位置をリセットしたい場合は、 –

関連する問題