0

ListBox アイテムを更新する方法を知りたいです。OnPropertyChanged メソッド、ObservableCollection を試しましたが、うまくいきませんでした。itemsource プロパティを再度設定してみましたが、うまくいきましたが、ListBox が 2 つになり、複雑になりました。メインインターフェイスがあるwp7プロジェクトです。あなたは私が2つのリストボックスを持っているのを見ることができます

 <ListBox Name="lsbNameDays" ItemsSource="ComplexNameDays">
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <StackPanel>
                                <TextBlock Text="{Binding NameDay.Name}" FontSize="50"/>
                                <ListBox ItemsSource="ComplexNameDays.FacebookFriends" x:Name="asdf">
                                        <ListBox.ItemTemplate>
                                            <DataTemplate>
                                                <StackPanel>
                                                    <TextBlock Text="{Binding Lastname}"/>
                                                </StackPanel>
                                            </DataTemplate>
                                        </ListBox.ItemTemplate>
                                    </ListBox>
                                </StackPanel>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>

プロパティがあります:

 List<SelectedNameDays> complexNameDays;

      public List<SelectedNameDays> ComplexNameDays
            {
                get { return complexNameDays; }
                set 
                { 
                    complexNameDays = value;
                    OnPropertyChanged("ComplexNameDays");
                }


               }

     public class SelectedNameDays : Notifier
        {
            NameDay _nameday;

            public NameDay NameDay
            {
                get { return _nameday; }
                set { _nameday = value; OnPropertyChanged("NameDay"); }
            }


            public List<FacebookFriend> FacebookFriends { get; set; }

            public SelectedNameDays()
            {
                _nameday = new NameDay();
            }
        }

    public class FacebookFriend
        {
            public long Id { get; set; }
            public string Name { get; set; }
            public string Firstname { get; set; }
            public string Lastname { get; set; }
            public string Birthday { get; set; }
            public string Gender { get; set; }
            public Uri Picture { get; set; }
        }

コンストラクターが設定したデータを設定すると、lbsNameDays の itemsource を再試行しますが、「asdf」リストボックスが見つからず、データを再度設定できないため、コードの冒頭は正しいです。

2つの主な質問はそれです。1.変更されたプロパティを起動するにはどうすればよいですか。監視可能なコレクションが機能しません。2. データテンプレートで asdf リストボックスを使用するにはどうすればよいですか

答えてくれてありがとう、文法の間違いをごめんなさい

4

1 に答える 1

1

正しい構文を使用していないため、バインディングは機能しません。

   ItemsSource="ComplexNameDays"

する必要があります

   ItemsSource="{Binding ComplexNameDays}"

2 番目のバインドも間違っています。

   ItemsSource="ComplexNameDays.FacebookFriends"
于 2012-04-14T12:44:33.320 に答える