我有一个地址的ObservableCollection,我将其绑定到ListBox上。然后,在ItemTemplate中,我使用{Binding .}来绑定到当前地址记录。这会导致我的地址使用它们的ToString方法显示,我已经设置了格式化地址的方法。一切都很好,但是,如果我更新单个地址记录的属性,则UI中的列表不会更新。添加/删除列表将更新UI(使用ObservableCollection行为)。如果我直接绑定到地址的属性,则UI会更新(使用Address对象的INotifyPropertyChanged行为)。
我的问题是,是否有一种方法可以通知UI整个对象已更改,以便仍然可以使用此语法?还是我需要放弃在我的地址类型上放置一个DisplayText属性来调用ToString方法并绑定到它?FYI,这是MVVM架构,因此我不能直接在ListBox上调用Refresh。
感谢任何帮助/想法。
我的问题是,是否有一种方法可以通知UI整个对象已更改,以便仍然可以使用此语法?还是我需要放弃在我的地址类型上放置一个DisplayText属性来调用ToString方法并绑定到它?FYI,这是MVVM架构,因此我不能直接在ListBox上调用Refresh。
感谢任何帮助/想法。
<ListBox x:Name="AddressList" ItemsSource="{Binding Addresses}" Background="Transparent" BorderBrush="Transparent"
Width="200" HorizontalAlignment="Left">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding .}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>