Я хочу динамически создавать содержимое каждого элемента внутри ListBox
- подумайте об этом как о списке элементов. Или подумайте о приложении телефонной книги с контактами, и каждый контакт имеет один или несколько телефонных номеров, которые отображаются под именем; имя - одно поле, номера телефонов - это второе поле. Но содержание поля номера телефона, очевидно, будет зависеть от номера телефона, на который указывает контакт.Windows Phone 7 - динамические элементы для ListBox
Как:
Andrew Adams <-- TextBlock for name
650-123-2222 <-- "Item" for numbers
490-222-3333
Benny Benjamin
650-123-3333
Я попытался решить эту проблему путем создания второго ListBox
для элемента чисел внутри основного ListBox
элемента. Но я не знаю, как я могу заполнить эту вторую ListBox
моделью с 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
ItemsSource из C#? Или я могу решить свою проблему с помощью другого лучшего подхода?
Ваш код выглядит хорошо для меня, вы можете предоставить модель, которую вы используете для «возврата» этого вида? – ColinE
Ну, я не знаю, как установить модель в первую очередь для такого типа структуры (я могу заполнить внешний ListBox, но я не знаю, как заполнить внутренний ListBox). Я думаю, что это моя настоящая проблема :) –
Просто, чтобы быть ясным; NumbersList в модели «Контакты» является общедоступным ObservableCollection NumbersList. NumberInfo предоставляет номер свойства. Должно ли это работать так? –