列表框 UI 将项目添加到对象列表后更新
Listbox UI Update after adding Item to a list of objects
我得到了这个列表:
List<BoardNote> offlinelist = new List<BoardNote>();
它绑定到我的列表框"boardlist"。
现在我希望每次添加新的 Boardnote 后列表框的 UI 都会更新。
我已经知道我应该使用 "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 才能获取更新。
我得到了这个列表:
List<BoardNote> offlinelist = new List<BoardNote>();
它绑定到我的列表框"boardlist"。 现在我希望每次添加新的 Boardnote 后列表框的 UI 都会更新。 我已经知道我应该使用 "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 才能获取更新。