![](/img/trans.png)
[英]WPF / C# Updating property change of an item in an ObservableCollection to the ListBox
[英]ListView not updating on the itemsource ObservableCollection Item Property change
考虑以下示例代码:
视图.xml
<Grid>
<ListView Name="NameList" HorizontalAlignment="Left" Height="142" Margin="55,45,0,0" VerticalAlignment="Top" Width="389">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Content="{Binding FirstName}"/>
<Label Content="{Binding LastName}" Grid.Column="1"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Button Content="Button" HorizontalAlignment="Left" Margin="120,256,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
</Grid>
我也在 WinUI 上使用
ListView<\/code>和
ObservableCollection<\/code>解决同样的问题。
你需要了解的是
ObservableCollection<\/code>只负责通知集合的变化。
项目级别更改通过
INotifyPropertyChanged<\/code>处理。
但是,对于要应用的那些,您需要确保您的绑定模式至少是一种方式,如果需要,可以使用两种方式。
您的 XAML 应如下所示:
Text="{x:Bind Title, Mode=OneWay}<\/code>
不要尝试那里提出的建议,这是错误的: ObservableCollection 没有注意到其中的项目何时更改(即使使用 INotifyPropertyChanged)<\/a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.