0

我想知道如何刷新我们的 ListBox 项。我尝试了 OnPropertyChanged 方法 ObservableCollection,但它不起作用。我尝试再次设置 itemsource 属性,这样就可以了,但是现在我有 2 个 ListBox,现在它很复杂。这是一个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”列表框,我无法再次设置它们的数据。

所以两个主要问题是。1.如果改变了属性,我怎么能触发,并且可观察的收集器不起作用。2.如何在datatemplate中使用asdf listbox

谢谢回答,对不起我的语法错误

4

1 回答 1

1

您的 Bindings 不起作用,因为您没有使用正确的语法:

   ItemsSource="ComplexNameDays"

应该

   ItemsSource="{Binding ComplexNameDays}"

第二个绑定也是错误的:

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