2015-03-31 100 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