【发布时间】:2026-01-05 16:30:01
【问题描述】:
我有一个基本的 Windows Phone List 应用程序,在 MainViewModel 类中有这样的代码
// CODE THAT WORKS --
Items.Clear();
foreach (var itm in e.Result)
Items.Add(itm);
Count = Items.Count;
// CODE THAT DOES NOT WORK -- I'm trying to understand WHY
Items = e.Result;
数据绑定 Xaml 如下所示:
<DataTemplate>
<StackPanel x:Name="DataTemplateStackPanel" Orientation="Horizontal">
<Image x:Name="ItemImage" Source="/AppName;component/Images/ArrowImg.png" Height="43" Width="43" VerticalAlignment="Top" Margin="10,0,20,0"/>
<StackPanel>
<TextBlock x:Name="ItemText" Text="Event Name" Margin="-2,-13,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock x:Name="DetailsText" Text="{Binding Path=Description}" Margin="0,-6,0,3" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
我认为我对 ObservableCollection 和 INotifyPropertyChanged 的工作方式存在误解,因为我认为这段代码应该可以工作。与我的 INotifyPropertyChanged 实现一样,与 NonCollection 项目的数据绑定工作正常。
【问题讨论】:
标签: .net wpf silverlight data-binding windows-phone-7