Я разрабатываю приложение Windows Phome. У меня есть следующая ListBox на странице:ListBox ItemsSource Binding не работает
<ListBox Margin="10,10,8,8" x:Name="WallList">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid x:Name="ListBoxItemLayout" Background="Transparent" Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.33*"/>
<ColumnDefinition Width="0.77*"/>
</Grid.ColumnDefinitions>
<Image HorizontalAlignment="Left" Margin="0" Source="{Binding ImagePath}" Height="200"/>
<StackPanel Margin="5,0,0,0" Grid.Column="1">
<TextBlock x:Name="Name" TextWrapping="Wrap" Text="{Binding Name}" Style="{StaticResource PhoneTextTitle2Style}"/>
<TextBlock x:Name="Comment" Margin="0,5,0,0" TextWrapping="Wrap" Text="{Binding Comment}" Style="{StaticResource PhoneTextNormalStyle}" Height="130"/>
<TextBlock x:Name="When" TextWrapping="Wrap" Text="{Binding When}" Style="{StaticResource PhoneTextTitle3Style}" VerticalAlignment="Bottom"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я использую это, чтобы заполнить ListBox на нагруженном событии:
this.WallList.ItemsSource = StartingWall.GetWallPosts();
А теперь я хочу, чтобы добавить больше элементов программны, когда пользователь записать некоторый текст в текстовом поле и нажмите кнопку. Я хочу разместить этот текст в поле «Комментарий».
Я собираюсь заполнить остальные поля данными по умолчанию.
Мой вопрос:
Как я могу добавить больше деталей к WallList ListBox?
Кто-то предложил сделать следующее:
public ObservableCollection<WallPostEntry> MyWallPosts {get;set;}
// Initialize MyWallPosts to whatever
MyWallPosts.Add(new WallPostEntry("new entry"));
<ListBox Margin="10,10,8,8" x:Name="WallList" ItemsSource="{Binding MyWallPosts}">
Но Binding ListBox ItemsSource не работает для меня. Я инициализацией MyWallPosts
на конструктор, перед InitializeComponent();
, как это:
public Wall()
{
MyWallPosts = StartingWall.GetWallPosts();
InitializeComponent();
}
Любые советы?
Спасибо.