2012-05-03 2 views
-1

Я пытаюсь представить ListView в WP7 и по какой-то причине это не похоже на работуListBox в WP7 не работает для меня

мой XAML

  <!--ContentPanel - place additional content here--> 
     <StackPanel x:Name="ContentPanel2" Grid.Row="1" Margin="12,0,12,0"> 
      <ListBox x:Name="list"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <StackPanel Margin="5"> 
         <Image Source="{Binding ImageUri}" Stretch="None"/> 
         <TextBlock Text="{Binding Text}"/> 
         </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
     </StackPanel> 

    </Grid> 

мой C# код

public class list 
{ 
    public string title { get; set; } 
    public string imageSource { get; set; } 
} 

и

 private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) 
    { 
     List<list> dataSources = new List<list>(); 
     dataSources.Add(new list() { title = "Shacharit", imageSource = "Images/shacharit.png" }); 
     dataSources.Add(new list() { title = "Mincha", imageSource = "Images/mincha.png" }); 
     dataSources.Add(new list() { title = "Arvit", imageSource = "Images/arvit.png" }); 
     dataSources.Add(new list() { title = "Birkat HaMazon", imageSource = "Images/shacharit.png" }); 
     list.ItemsSource = dataSources; 
    } 

чем ks заранее

+0

это не похоже на работу означает, что происходит? – coder

ответ

2

Попробуйте ниже, измените привязки изображения и текстового блока на привязку к строкам, которые вы указали в настоящее время, которые вы пытаетесь связать с ImageURI и текстом, и они не существуют ни в одном из ваших кодов.

  <!--ContentPanel - place additional content here--> 
    <StackPanel x:Name="ContentPanel2" Grid.Row="1" Margin="12,0,12,0"> 
     <ListBox x:Name="list" Da> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Margin="5"> 
        <Image Source="{Binding imageSource }" Stretch="None"/> 
        <TextBlock Text="{Binding title}"/> 
        </StackPanel> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
    </StackPanel> 

</Grid> 
+0

Отлично. Это сработало. Thanks – orelzion

+0

Отлично, рад помочь. Можете ли вы принять мои, и зомби-сипы ответят тогда. ура –

1

Чтобы Уточнить Джон двойку ответа, вы создаете объекты данных с атрибутами «ImagePath» и «название» в вашем коде позади

new list() { title = "Shacharit", imageSource = "Images/shacharit.png" }; 

но пытаетесь Бинг свойств называемых «ImageUri» и "Текст".

В окне вывода в VS вы должны увидеть эти ошибки привязки.

Следующие 2 строки (где вы doinng связывание в XAML) должен исправить вещи для вас ...

<Image Source="{Binding imageSource }" Stretch="None"/> 
<TextBlock Text="{Binding title}"/>