将Item添加到对象列表后的Listbox UI更新
本文关键字:Listbox UI 更新 列表 Item 添加 对象 | 更新日期: 2023-09-27 18:09:17
我得到了这个列表:
List<BoardNote> offlinelist = new List<BoardNote>();
它被绑定到我的列表框"boardlist"。现在我希望Listbox的UI在每次添加新的Boardnote后得到更新。我已经知道我应该使用"INotifyCollectionChanged",但我太紧张了。下面是"boardlist"的代码:
<ListBox x:Name="BoardList" ItemsSource="{Binding offlinelist}" > //I need to add binding mode two way and property changed idk
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<TextBox IsReadOnly="True" ScrollViewer.VerticalScrollBarVisibility="Visible" Text="{Binding text}" TextWrapping="Wrap" Foreground="DarkBlue"></TextBox>
<AppBarButton Visibility="{Binding visibility}" Icon="Globe" Click="OpenInBrowser" x:Name="Link"></AppBarButton>
<AppBarButton Icon="Copy" Click="Copy"></AppBarButton>
<AppBarButton Icon="Delete" Click="Delete"></AppBarButton>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
你可以用ObservalbleList代替List。它已经为你实现了INotifyCollectionChanged
为了获取更新,你需要在ViewModel中实现一个ObservableCollection