我有一个简单的 ListView 绑定到对象(TaxonDescription)列表的内容。
当我选择另一个 TaxonDescription 时,ListView 的元素不会更新。
也许我需要 NotifyPropertyChanged,但我到处都试过了。
有我的课。
在页面的代码隐藏中,我检查了 ItemSource,它具有正确的列表元素,只是没有更新到视图。
<ListView ItemsSource="{Binding Descriptions}"
SelectedItem="{Binding ActualSelectedDescription, Mode=TwoWay}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding DescriptionName}"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
// this not updated
<ListView ItemsSource="{Binding ActualSelectedDescription.Images}">
<ListView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding NormalUri}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<TextBlock Text="{Binding ActualSelectedDescription.Name}"/> //This is works well
ActualSelectedDescription 由事件更改。
public TaxonDescription ActualSelectedDescription
{
get{return actualSelectedDescription;}
set { actualSelectedDescription = value;
RaisePropertyChanged("ActualSelectedDescription"); }
//In the setter the Images are in the list
}
并且图像列表中有列表元素
有描述类,带有列表。
class TaxonDescription
{
public List<BaseImage> Images { get; private set; }
public string Name { get; private set; }
public TaxonDescription(string taxonName, string descriptionName)
{
Name = taxonName;
Images = new List<BaseImage>();
//Adding some element
}
}
任何准确的想法都会有所帮助,我会全部尝试;)