我为一个列表框设置了这个数据模板:
<DataTemplate x:Key="SlideListItem">
<StackPanel>
<Border Margin="1" BorderBrush="#505050" BorderThickness="1">
<Border.Effect>
<DropShadowEffect ShadowDepth="1" BlurRadius="3" Opacity=".5" />
</Border.Effect>
<Image Source="{Binding Thumbnail}" Stretch="Fill" VerticalAlignment="Center"/>
</Border>
<TextBlock Text="{Binding Title}" />
</StackPanel>
</DataTemplate>所以它显示了一个图像,以及它下面的一些文本。这是列表框:
<ListBox x:Name="PageList" Grid.Column="0" ItemsSource="{DynamicResource SlideList}"
ItemTemplate="{StaticResource SlideListItem}" MouseDown="PageList_MouseDown" SelectionChanged="PageList_SelectionChanged" />SlideList是一个动态资源,更确切地说,它是我自己的类的ObservableCollection。这个类非常简单,只有几个属性(一些字符串、一个图像和一个列表)
问题是缩略图需要每隔几秒钟更新一次,但是当我尝试从c#更新它时,它并没有更新。我发现让它显示更新的唯一方法是删除DynamicResource,然后重新添加它。
发布于 2011-02-01 03:33:15
您是要更改缩略图属性,还是要替换ObservableCollection中的项目?
在第一种情况下,您的简单类必须实现INotifyPropertyChanged。否则,绑定目标将仅在改变集合时更新,例如,替换项、添加新项等,而不是当改变集合中的项时。
https://stackoverflow.com/questions/4854994
复制相似问题