WPF ListBox not updating with the ItemsSource(WPF ListBox 未使用 ItemsSource 更新)
问题描述
我认为在 WPF 设置中应该是简单的双向数据绑定,但列表框(目标)没有随着集合的变化而更新.
I have what I believe should be simple two-way databinding in WPF setup, but the listbox (target) is not updating as the collection changes.
我正在以编程方式设置 ListBox 的 ItemsSource:
I'm setting this ItemsSource of the ListBox programmatically:
lstVariable_Selected.ItemsSource = m_VariableList;
ListBox声明如下:
And the ListBox is declared as follows:
<ListBox Margin="5" Name="lstVariable_Selected">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Gray" BorderThickness="1" Margin="0">
<TextBlock FontSize="25" Text="{Binding Path=Name}" />
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
当我最初设置 ItemsSource 时,ListBox(当时不可见)设置了它的项目.但是,如果我查看 ListBox,更新似乎会停止.
When I initially set the ItemsSource, the ListBox (which is not visible at the time) gets its items set. However, if I go view the ListBox, updates seem to stop at that point.
然后我可以从 m_VariableList 集合中删除一个项目,并且它不会从 ListBox 中消失.同样,如果我添加一个,它不会出现.
I can then remove an item from the m_VariableList collection, and it does not disappear from the ListBox. Likewise, if I add one, it doesn't appear.
什么给了?
推荐答案
你的 m_VariableList 是否实现了 INotifyCollectionChanged?如果它不是 ObservableCollection,那么对其内容的更改将不会自动反映在 UI 中.
Is your m_VariableList implementing INotifyCollectionChanged? If it's not an ObservableCollection, then changes to it's contents will not automatically be reflected in the UI.
这篇关于WPF ListBox 未使用 ItemsSource 更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:WPF ListBox 未使用 ItemsSource 更新
基础教程推荐
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- Moq It.Is<>不匹配 2022-01-01
- WPF 模态进度窗口 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
