2010-09-04 9 views
0

J'ai une application qui a été développée en utilisant les outils CTP du développeur WP7. Maintenant, j'essaie d'exécuter la même application mais sur les outils bêta WP7.Windows Phone 7 - Problème de classe ListViewItem

J'ai fait tous les changements nécessaires à la conversion ci-dessus par Microsoft Release Notes

Il a mentionné que ListView et ListViewItem classes sont retirés de Microsoft.Phone.Controls espace de noms.

Voici l'espace de noms XML (modifié) selon les notes de publication.

xmlns:mpc="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 

Et j'ai suivi la ligne dans laquelle ListView est utilisé.

<mpc:ListViewItem Layout="TextAndDetailsWithIcon" Text="{Binding Title.Text}" Details="{Binding Title.Text}" Style="{StaticResource PhoneListBoxItemLayout}"/> 

Donc (évidemment) son me donnant une erreur sur le problème de l'espace de noms. Comment le réparer?


Update1 -

je définissais la mise en page de notre élément de la liste directement dans le DataTemplate comme

<TextBlock x:Name="ItemText" Text="{Binding Title.Text}" Margin="-2,-13,0,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 

Maintenant, je reçois une erreur au sujet de la ligne suivante qui est à l'intérieur une auto fichier généré App.g.cs

System.Windows.Application.LoadComponent(this, new System.Uri("/RssReader;component/App.xaml", System.UriKind.Relative)); 

Et l'erreur est

Invalid attribute value mpc:ListViewItem for property TargetType 

Ce qui semble être le problème maintenant?

(Note: Je suis un débutant dans Silverlight, donc s'il vous plaît ours)

+1

En référence à votre mise à jour. Recherchez votre projet entier pour "mpc: ListViewItem". Peut-être avez-vous encore des références à modifier? –

+0

Merci Jason.Il a travaillé. –

Répondre

5

Il semble que cette classe ils ont enlevé selon cette link.

Eh bien, les modèles de ListViewItem prédéfinis ne sont pas plus, donc au lieu nous définir la mise en page de notre élément de la liste directement dans le DataTemplate, comme suit:

<ListBox x:Name="MainListBox" ItemsSource="{Binding Items}" SelectionChanged="MainListBox_SelectionChanged"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel x:Name="DataTemplateStackPanel" Orientation="Horizontal"> 
        <Image x:Name="ItemImage" Source="/WindowsPhoneListApplication1;component/Images/ArrowImg.png" Height="43" Width="43" VerticalAlignment="Top" Margin="10,0,20,0"/> 
        <StackPanel> 
         <TextBlock x:Name="ItemText" Text="{Binding LineOne}" Margin="-2,-13,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
         <TextBlock x:Name="DetailsText" Text="{Binding LineTwo}" Margin="0,-6,0,3" Style="{StaticResource PhoneTextSubtleStyle}"/> 
        </StackPanel> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

Lorsque vous créez un défaut WindowsPhoneListApplication il fait aussi cette mise en page si vous avez besoin d'un exemple complet.

+0

Merci Jason! J'ai plus de problèmes, cependant. Voir la question mise à jour s'il vous plaît. –

0

Enfait vous n'avez pas besoin de définir ItemsSource="{Binding Items}"

dans

<ListBox x:Name="MainListBox" SelectionChanged="MainListBox_SelectionChanged">