2013-04-25 2 views
0

am показ списка фильмов как панорама для моего окна телефона 7 приложение. при нажатии на каждый фильм я показываю детали фильма, актеры. Детали фильма, показываются как контрольный элемент. Информация о фильме прекрасно работает Но когда я должен показать, как показано, это не работает. У меня есть список литых объектов. и связывает источник с списком в элементе управления поворотным элементом, но он не показывает никаких данных. Пожалуйста, помогите мне. Ниже приведены классы, которые я использовал. Спасибоисточник привязки не рабочие окна телефон 7

MainViewModel.cs

public class MainViewModel 
{ 
    public ObservableCollection<ItemViewModel> MovieItems { get; set; } 

} 

ItemViewModel.cs

public class ItemViewModel : INotifyPropertyChanged 
{ 

    private string _title; 
    public string _Title 
     { 
     get { return _title; } 

     set 
     { 
      if (value != _title) 
      { 
       _title = value; 
       NotifyPropertyChanged("title"); 
      } 
     } 
    } 


     private ObservableCollection<Cast> _cast; 

    public ObservableCollection<Cast> _Cast 
    { 
     get { return _cast; } 

     set 
     { 
      if (value != _cast) 
      { 
       _cast = value; 
       NotifyPropertyChanged("Cast"); 
      } 
     } 
    } 
    .......... 

} 

Cast.cs

public class Cast 
{ 
     public string name { get; set; } 
     public string imagesource { get; set; } 


     public Cast(string _name, string _imagesource) 
     { 
     this.imagesource = _imagesource; 
     this.name = _name; 
     } 
} 
for each movie i have a list of cast objects 

MovieModel.cs

    App.Model.MovieItems.Add(
        new ItemViewModel() 
        { 
         _Title = data["title"].ToString(), 
         _Cast=casObs, 
         ........ 
        } 
        ); 

moviedetails.xaml

   <ListBox Name="ListBox" Margin="0,0,-12,0" ItemsSource="{Binding _Cast}"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <StackPanel Margin="0,0,0,17" Width="432" Height="78"> 
          <Canvas> 
           <TextBlock HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="120,5,60,3" Text="{Binding name}" TextWrapping="Wrap" FontSize="32" Style="{StaticResource PhoneTextNormalStyle}"/> 
           <Image Height="90" HorizontalAlignment="Left" Margin="12,10,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="90" Source="{Binding imagesource}" /> 
          </Canvas> 
         </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 

ответ

0

Заменить

NotifyPropertyChanged("title"); 

в

NotifyPropertyChanged("_Title"); 

И

NotifyPropertyChanged("Cast"); 

в

NotifyPropertyChanged("_Cast"); 

Надеюсь, это поможет.

+0

спасибо за ответ. но он не работает – nyfer

+0

извините, ребята, это моя вина. Я очищал объекты-листы из ObservableCollection и поэтому не работал. – nyfer

+0

ОК, но как насчет моего ответа (он работает с NotifyPropertyChanged («title») или NotifyPropertyChanged («_ Title»);)? – jimpanzer

0

применять преобразователь между ними, где вам нужно возвратить ImageSource/BitmapImage, вместо строки

Смежные вопросы