0

理由はわかりませんが、リストビューにデータを表示できません。

私に何ができる?

これが私のコードです:

<FlipView HorizontalAlignment="Left" Margin="209,52,0,0"
          VerticalAlignment="Top" Width="892" Height="432" Grid.Row="1">
    <ListView HorizontalAlignment="Left" Height="426" 
              VerticalAlignment="Top" Width="453" 
              Margin="433,0,0,0" DataContext="TwitterDataViewModel"
              ItemsSource="{Binding ListeTweet}">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" Height="132">
                    <Image Source="{Binding ImageUrl}" Height="73" 
                           Width="73" VerticalAlignment="Top" Margin="0,10,8,0"/>
                    <StackPanel Width="370">
                        <TextBlock Text="{Binding Name}" Foreground="#FFC8AB14"
                                   FontSize="28" />
                        <TextBlock Text="{Binding Text}" TextWrapping="Wrap"
                                   FontSize="24" />
                    </StackPanel>
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</FlipView>

何か問題でもありますか?


TwitterDataViewModelの世話をしましたが、これはINotifyPropertyChangedクラスです...

namespace App1
{
public class TwitterDataViewModel : INotifyPropertyChanged
{
    private User _user;
    public User User
    {
        get { return _user; }
        set
        {
            _user = value;
            RaisePropertyChanged("User");
        }
    }

    private List<Tweet> _listeTweet;
    public List<Tweet> ListeTweet
    {
        get { return _listeTweet; }
        set
        {
            _listeTweet = value;
            RaisePropertyChanged("ListeTweet");
        }
    }
    private List<User> _listeUser;
    public List<User> ListeUser
    {
        get { return _listeUser; }
        set
        {
            _listeUser = value;
            RaisePropertyChanged("ListeUser");
        }
    }



    private List<NameValueItem> _listeDonneesGraphiques;
    public List<NameValueItem> ListeDonneesGraphiques
    {
        get { return _listeDonneesGraphiques; }
        set
        {

            _listeDonneesGraphiques = value;
            RaisePropertyChanged("ListeDonneesGraphiques");
        }
    }

    public TweetViewModel tweetviewmodel { get; set; }
    public UserViewModel userviewmodel { get; set; }

    public TwitterCommand<object> ClickSearch { get; set; }

    readonly Page page;

    public TwitterDataViewModel(Page page)
    {
        tweetviewmodel = new TweetViewModel(page);
        userviewmodel = new UserViewModel(page);
        this.page = page;
        ClickSearch = new TwitterCommand<object>(AfficheDonnee); //bouton NEXT

    }

    void AfficheDonnee(object obj)                      //Méthode qui sera exécutée lors du click sur le bouton NEXT
    {          
                                     //Consiste à afficher les données précédemment récupérées.

        ListeTweet = tweetviewmodel.RecupererTweets(); //ok ca fonctionne
        //tweetviewmodel.TrouverMot();
        //tweetviewmodel.TrouverTweetSpecific();
        //Task.Run(async () => 
        //{
        //    //je fais une tâche et j'attend 15 minutes
        //    userviewmodel.GetScreenName();
        //    await Task.Delay(15 * 600);//15 minutes

        //});

        //Task.Run( () =>
        //{

        //    userviewmodel.GetScreenName();


        //});

        //User = userviewmodel.RecupererInfoUser();
      //  ListeUser = userviewmodel.GetScreenName();
        //ListeDonneesGraphiques = new List<NameValueItem>(); //Liste des données numérique qui va servir pour le graphique de données
        //tweetviewmodel.TrouverMot();                                                    //Problème à l'affichage

        //ListeDonneesGraphiques.Add((new NameValueItem() { Name = "Tweets", Value = userviewmodel.Users.NbStatus }));
        //ListeDonneesGraphiques.Add((new NameValueItem() { Name = "Following", Value = userviewmodel.Users.NbFollowing }));
        //ListeDonneesGraphiques.Add((new NameValueItem() { Name = "Followers", Value = userviewmodel.Users.NbFollowers }));
        //ListeDonneesGraphiques.Add((new NameValueItem() { Name = "Favorite", Value = userviewmodel.Users.NbFavorite }));
        //ListeDonneesGraphiques.Add((new NameValueItem() { Name = "Listed", Value = userviewmodel.Users.NbListe }));
    }


    public event PropertyChangedEventHandler PropertyChanged;
    private void RaisePropertyChanged(string prop)
    {
        var handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(prop));
        }
    }
}

}

4

2 に答える 2

0

アイテムをに追加してList<>も、変更はありません。コンテンツは変更されますが、Listそれ自体は変更されません。
リストにアイテムを追加しても、セッターListeTweetは呼び出されません。あなたのゲッターはしかしです!

問題を解決するために、リストListeTweetをに変更して、アイテムを追加したときにイベントObservableCollection<Tweet>を発生させることができます。OnCollectionChanged

于 2013-03-07T15:37:48.187 に答える
0

ItemsSourceは依存プロパティですか?または、INotifyPropertyChangedインターフェイスを使用していますか?

データが入力されていることがUIに通知されていない場合、何も表示されません

これをチェックしてください...

于 2013-03-07T15:04:55.593 に答える