问题描述
我认为在 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 更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)