将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>

将Item添加到对象列表后的Listbox UI更新

你可以用ObservalbleList代替List。它已经为你实现了INotifyCollectionChanged

为了获取更新,你需要在ViewModel中实现一个ObservableCollection