2015-03-31 99 views
0

我的问题是我的项目不会添加到列表中。我尝试将3个文本和一个图像位置添加到列表中。我尝试了一切,但我做不到。 XAML代码Windows Phone 8 - >添加数据绑定问题,列表框

<ListBox Name="mylistbox" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="6" Grid.RowSpan="3"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <StackPanel Name="s1"> 
           <Grid> 
            <Grid.ColumnDefinitions> 
             <ColumnDefinition Width="10"/> 
             <ColumnDefinition Width="120"/> 
             <ColumnDefinition Width="300"/> 
             <ColumnDefinition Width="10"/> 
            </Grid.ColumnDefinitions> 
            <Grid.RowDefinitions> 
             <RowDefinition Height="10"/> 
             <RowDefinition Height="100"/> 
             <RowDefinition Height="30"/> 
             <RowDefinition Height="20/"/> 
            </Grid.RowDefinitions> 
            <TextBlock Text="{Binding naslov}" Tag="{Binding broj}" FontSize="32" Foreground="White" HorizontalAlignment="Center" TextWrapping="Wrap" Grid.Row="1" Grid.Column="2" /> 
            <TextBlock Text="{Binding datum}" Foreground="White" HorizontalAlignment="Right" VerticalAlignment="Center" TextWrapping="Wrap" Grid.Row="2" Grid.Column="2"/> 

            <Image Source="{Binding slika}" Grid.Row="1" Grid.Column="1" Grid.RowSpan="2"/> 
           </Grid> 
          </StackPanel> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 

C#代码

for (int i = 1; i < datum.Count; ++i) 
{ 
     podatak _podatak = new podatak(); 
     _podatak.naslov = naslovi[i]; 
     _podatak.datum = datum[i]; 

     _podatak.broj = Convert.ToString(broj); 
     _podatak.slika = "http://hsin.hr/images/logo.gif"; 
     mylistbox.Items.Add(_podatak); 
} 
+1

创建一个新的列表'',加入所有'podatak'变量,设置'Listbox'的'ItemSource'为新创建的'名单' – 2015-03-31 11:55:09

+0

不工作,尝试 – dariodsa 2015-03-31 11:59:46

+0

我应该在XAML中添加的东西? – dariodsa 2015-03-31 12:00:42

回答

0

我没有测试,但我认为你缺少一个细节,并做了一点差错。

首先:您需要将List绑定到ListBox。所以,我认为你应该做这样的事情:

List<podatak> myList = new List<podatak>(); 

for (int i = 1; i < datum.Count; ++i) 
{ 
     podatak _podatak = new podatak(); 
     _podatak.naslov = naslovi[i]; 
     _podatak.datum = datum[i]; 

     _podatak.broj = Convert.ToString(broj); 
     _podatak.slika = "http://hsin.hr/images/logo.gif"; 

     myList.Add(_podatak); 
} 

mylistbox.ItemsSource = myList; 

和第二:添加此对XAML:

<ListBox Name="mylistbox" ItemsSource="{Binding}" ... 

更正:

至于评论,并不需要改变什么在你的XAML代码上。 我的错误。

+0

删除XAML位,这是没用的。 – 2015-03-31 14:40:03