各アイテムのコンテンツを動的に作成したいのですが、アイテムListBox
のリストと考えてください。または、連絡先のある電話帳アプリケーションを考えてみてください。各連絡先には、名前の下に1つ以上の電話番号が表示されます。名前は1つのフィールドで、電話番号は2番目のフィールドです。ただし、電話番号フィールドの内容は、連絡先が持っている電話番号の数に明らかに依存します。
好き:
Andrew Adams <-- TextBlock for name
650-123-2222 <-- "Item" for numbers
490-222-3333
Benny Benjamin
650-123-3333
ListBox
メインアイテム内の数字アイテムに秒を作成することで、これを解決しようとしましたListBox
。ListBox
しかし、この2番目にC#のモデルをどのように入力できるかわかりません。
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<ListBox Name="ContactResultsData" ItemsSource="{Binding Contacts}" Margin="24,0" Height="620">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Name="ContactName" Text="{Binding ContactName}" Style="{StaticResource PhoneTextLargeStyle}" />
<ListBox Name="NumbersList" ItemsSource="{Binding NumbersList}">
<TextBlock Name="Number" Text="{Binding Number}" Style="{StaticResource PhoneTextSmallStyle}" />
</ListBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</Grid>
</Grid>
NumbersList
質問は次のようになります: C#からItemsSourceを設定するにはどうすればよいですか?または、他のより良いアプローチで問題を解決できますか?