繁体   English   中英

Listbox in other Listbox, Itemsource, Binding

[英]Listbox in other Listbox, Itemsource, Binding

我想知道如何刷新我们的 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 的项目源,但我找不到“asdf”列表框,我无法再次设置它们的数据。

所以2个主要问题是。 1. 如果发生更改并且可观察的集合不起作用,我该如何触发属性。 2. 如何在数据模板中使用 asdf 列表框

感谢回答,我很抱歉我的语法错误

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

   ItemsSource="ComplexNameDays"

应该

   ItemsSource="{Binding ComplexNameDays}"

第二个绑定也是错误的:

   ItemsSource="ComplexNameDays.FacebookFriends"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM