首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

更改项目源对象不会更改列表框(C# WPF)

更改项目源对象不会更改列表框是指在C# WPF应用程序中,当我们更改项目源对象时,列表框(ListBox)中显示的内容不会自动更新。

在C# WPF中,列表框是一种常用的控件,用于显示一组数据项。通常,我们会将一个集合(如List、ObservableCollection等)作为列表框的数据源,然后通过绑定将数据项显示在列表框中。

当我们更改项目源对象时,即更改了数据源中的数据项,列表框并不会自动更新显示的内容。这是因为列表框默认情况下不会监听数据源的变化,需要手动触发更新。

为了解决这个问题,我们可以使用ObservableCollection作为列表框的数据源。ObservableCollection是一种特殊的集合,它实现了INotifyCollectionChanged接口,当集合发生变化时会触发集合变更事件。通过使用ObservableCollection,当我们更改项目源对象时,列表框会自动更新显示的内容。

示例代码如下:

代码语言:csharp
复制
// 创建ObservableCollection作为列表框的数据源
ObservableCollection<string> items = new ObservableCollection<string>();
// 将数据项添加到ObservableCollection中
items.Add("Item 1");
items.Add("Item 2");
items.Add("Item 3");

// 将ObservableCollection设置为列表框的数据源
listBox.ItemsSource = items;

当我们更改items中的数据项时,列表框会自动更新显示的内容。

除了使用ObservableCollection,还可以手动触发列表框的更新。可以通过调用列表框的Items.Refresh()方法来强制刷新列表框的显示内容。

代码语言:csharp
复制
// 更改项目源对象
items[0] = "New Item 1";

// 手动触发列表框的更新
listBox.Items.Refresh();

这样,列表框会更新显示的内容。

总结:

更改项目源对象不会自动更改列表框的显示内容,需要使用ObservableCollection作为数据源或手动触发列表框的更新。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WPF 更改 DrawingVisual 的 RenderOpen 用到的对象的内容将持续影响渲染效果

WPF 里面,可以通过 DrawingVisual 来进行使用底层的绘制方法,此方法需要调用 DrawingVisual 的 RenderOpen 拿到 DrawingContext 类型的对象,...接着调用此对象的方法来进行界面绘制。...在绘制完成之后,如果依然保存绘制过程的对象,例如 Transform 对象,那当界面再次刷新时,如果更改对象的属性,将会影响渲染 似乎这不是一个可以做简单描述的问题,其实这个问题也让我前天花了半天的时间才解决的一个界面渲染问题的其中一个...我在不断的更改 TranslateTransform 的属性,如下面代码 class Foo : UIElement { public Foo() {...只是此动画有些有趣,需要在界面有其他逻辑进行界面刷新的时候,或者说触发渲染线程进行渲染时,才会进行动画刷新 本文所有代码放在 github 和 gitee 欢迎小伙伴访问 更底层请看 dotnet 读 WPF

97330

【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性

XAML实时调试工具: XAML C# Edit & Continue 现在被称为 XAML Hot Reload (v16.2): 现在将 WPF / UWP 的 XAML C# Edit & Continue...为 WPF 资源字典更改(v16.3)添加了 XAML Hot Reload 支持: XAML Hot Reload 现在支持更新 WPF 资源字典以在应用程序中进行实时更新。...请注意,工具栏移动到的位置不会在会话之间存储,并且在您的应用重新启动时会返回到默认位置。 ?...NET Core 项目的引用程序集中的 XAML 资源(当不可用时)。...进行此更改后,“编辑模板”功能现在将可用,并且可以像现在可用的第一方元素一样使用。请注意,此功能适用于第三方控制库和没有源的第一方。

7.3K30
  • 【愚公系列】2023年11月 WPF控件专题 2023秋招WPF高频面试题

    它基本上是多列列表框,跟 windows 窗体列表视图的表现类似。 如果不需要 ListView 的附加功能,只是显示项目列表(即使模板很复杂),使用 ListBox就足够了。...如果资源字典发生更改,它将更新目标。 WPF高级篇832.解释SelectedItem、SelectedValue和SelectedValuePath之间的区别?...因此,如果对象的一个属性被绑定,它在副本中仍然是绑定的。 另一方面,CloneCurrentValues 只复制当前值,顾名思义。 不会保留绑定,因此如果修改了绑定的,则不会更新副本中的值。...从 WPF 的角度来看,BindingList 没有得到正确支持,除非真的必须,否则您永远不会WPF 项目中真正使用它。36.冒泡事件和隧道事件之间的确切区别是什么?...更改通知 ncyObject* 继承的方法。当设置依赖属性的值时,它不会存储在对象的字段中,而是存储在基类 DependencyObject 提供的键和值字典中。

    49522

    WPF面试题大全,秒杀面试官必备

    12、C#中的表单界面上,有一个DataGrid控件,如何将SQL数据库里的一个表中的数据显示在这个控件上,请描述一下操作方法及步骤 ? 13、解释完整的WPF对象层次结构 ?...• 属性更改通知:依赖属性提供属性更改通知,使开发人员可以在属性值发生变化时做出相应的响应。 这道题好难啊。 6、WPF中什么是样式?...以上代码仅供参考,根据项目的实际情况来调整。 13、解释完整的WPF对象层次结构 ? 答:WPF 对象层次结构是 WPF 应用程序的基础。...答:WPF 不会取代 DirectX。WPF 和 DirectX 是两个不同的技术,它们各有优缺点。 WPF 是一种用于构建用户界面的框架。它提供了强大的功能,用于创建高性能、可扩展的用户界面。...15、在WPF项目什么是App.xaml? 答:App.xaml 是 WPF 项目的入口文件。它定义了应用程序的根元素,并包含应用程序的启动脚本。 App.xaml 文件由 XAML 语言编写。

    74010

    开源C# WPF控件库--Newbeecoder.UI使用指南(三)

    在开发项目中要显示一组数据且可以选择一项或多项的时候,可以使用ListBox列表框。SelectionMode设置选择单项和多项,全选使用SelectAll属性进行设置。...在WPF中可以对ItemsSource绑定对象获取数据列表。以便在列表框中选择它的项目。我也想反其道而行之,如果取消选择某个项目,则对象中的 ObservableList 将相应更改。...要选择一个ListBoxItem在列表框,设置IsSelected属性true。默认情况下,的HorizontalAlignment一个的ListBoxItem的设置为拉伸。...如果您通过StackPanel设置ListBoxItem的Width属性,则应用面板的默认值并且项目居中。...分别是基础列表框、菜单列表框。 一、基础列表框使用方法。 ?

    2.5K50

    【愚公系列】2023年09月 WPF控件专题 ComboBox控件详解

    欢迎 点赞✍评论⭐收藏 前言 WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。...这些控件都是WPF中常见的标准用户界面元素。 自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。...可以添加字符串、对象或数据绑定表达式。 选择项更改事件:可以使用SelectionChanged事件处理ComboBox控件中选择项的更改。可以使用SelectedItem属性获取当前选择的项。...1.属性介绍 WPF中ComboBox控件有以下常用属性: ItemsSource:设置ComboBox中显示的项的数据。 SelectedItem:获取或设置ComboBox中选中项的对象。...2.常用场景 WPF中ComboBox控件常用于以下场景: 选择器:用户可以从下拉列表中选择一个或多个项目

    1K20

    《深入浅出WPF》学习笔记之深入浅出话Binding

    数据绑定Source和ElementName的区别 Source 用于指定数据为后台数据对象、集合 ElementName 用于指定“数据”为界面上某个控件的某个属性   注意:   在C#代码中可以访问...TwoWay ↔目标 无论是目标属性还是属性,只要发生了更改,TwoWay 就会更新目标属性或属性。 OneWay →目标 仅当属性发生更改时更新目标属性。...Explicit,不会更新除非你手动来操作 LostFocus,一旦目标控件失去焦点,就会被更新。 PropertyChanged,一旦绑定的属性值改变,会立即更新。...,XAML中.可以省略,C#代码中不可以省 6.3.5 为Binding指定(Source)的几种方式   Binding的是数据的来源,只要一个对象包含数据并能通过属性获取到,它就能当作Binding...(Dependency Object)   *容器的DataContext (WPF默认使用的)   *ElementName指定:在C#代码中把对象的Name作为赋给Binding   *RelativeSource

    5.6K10

    Windows桌面软件开发-Win桌面客户端开发神器 第二课

    这是小白学习软件开发系列课程,旨在帮助对电脑编程感兴趣的朋友学习并熟悉C#技术。...其中基础部分已经讲解完毕,可以查看:电脑编程入门(10)-C#面向对象编程浅聊,一起自学软件开发 这算是学习电脑编程的第二部分,带领你一起开发电脑桌面应用程序的第二课。...也有朋友要求介绍一下 Wpf ,这是完全可以的。会依照朋友们的需求讲解的。...下面预告一下将要写的文章: C#基础(已完成) Winform Wpf 基础加强 网页前端(包括html、css、JavaScript、JQuery) 数据库 三层架构 Asp.Net Asp.Net...下面介绍更多常用的一些控件: 这里我创建了一个新的项目: 新建Winform项目 【打开】--【新建】---【项目】-----选择Winform窗口应用程序,直接进行创建就可以了。

    9.5K41

    .NET周刊【6月第5期 2024-06-30】

    指出C#自2014年起属于开源项目,版权归.NET基金会,使用宽松的开源协议,且不受美国出口管理条例限制,不存在断供问题。...通过一个示例项目详细阐述了如何使用依赖注入创建和测试GreetingService类,使用xUnit和Moq框架模拟对象进行测试。包括项目的搭建、接口创建、类实现和测试流程三个主要部分。...更改项目查询 API,允许开发者跟踪项目变动。此版本旨在提高扩展的开发速度、性能和可靠性。...WPF/C#:如何实现拖拉元素 https://www.cnblogs.com/mingupupu/p/18270547 这篇文章介绍了如何在WPF Canvas中实现拖放功能。...https://github.com/ruccho/Disposify 允许使用 IDisposable 管理事件订阅的生成器。

    14210

    C# WPF数据绑定方法以及重写数据模板后数据绑定

    本文主要针对于数据绑定的基础实现进行介绍,通过此博文你将会有能力编写一个MVVM设计模式的C#WPF项目。...如果您是C#WPF的资深开发人员本文可能对您没有太大的帮助,但如果你是一个正在学习和了解C#WPF的开发人员来说本文可以帮助你认识MVVM设计模式和数据绑定。...新建一个WPF项目,并且添加Command类和MainWindowsViewModel类 Command.cs代码: 1 using System; 2 using System.Windows.Input...点击右下角“修改Text内容按钮”下方TextBlock控件内容发生改变 修改小明的姓名后点击删除按钮,提示信息显示小明的姓名也被更改,说明数据同时进行了更改。...以上就是本实例中涉及一些要点,这些内容是做WPFC#开发的基本内容,希望他们能对你的学习和工作起到一些帮助,如果对于本文某些用法写法说法有任何的意见欢迎指正交流。谢谢。

    63640

    2022年WPF过时了吗?

    国内90%开发者都在使用JAVA,Python等其它开发语言,按照工信部公布程序员从业数量在600万左右,C#程序员编程语言排行榜占6%计算保守估计有36万人,推算WPF从业人数在5万人以上。...GitHub 的现有 WPF 实现没有从 Microsoft 发布的任何,但它已对那里的存储库做出反应,其中名为 WPF for .NET Core。...Visual Studio中为使用 .NET Core平台的应用程序开发的新功能可以通过这种方式访问您的SDK、工具和新项目文件格式。...视频内容 Demo下载: Newbeecoder.UI.zip 并且由于WPF已经存在了很长时间,因此可以认为它是稳定的。在以后的每个版本中都不会出现重大更改,常用组件中也不会出现低级的错误。...如果WPF是一个选项,这取决于新项目的要求。对于 Windows桌面客户端,WPF仍然是一个可行的选择。 上面提到的替代方案为我们提供了许多不同的选择。

    8.7K60

    WPF 让窗口激活作为前台最上层窗口的方法

    组合可以让窗口作为当前用户活动的,即使窗口之前是最小化或隐藏,都可以通过 Show 的方法显示 但是某些设备窗口被盖在其他的窗口的下面,此时的窗口的 window.IsActive 还是 true 但是调用 Activate 不会让窗口放在上层...Zorder,SetWindowPos使之最上,为了不影响后续窗口的Zorder,改完之后,再还原     5.最后SetForegroundWindow 在 WPF 中对应的更改窗口的顺序使用的是...Topmost 属性,同时设置顺序需要做一点小的更改WPF 中通过 c# - Bring a window to the front in WPF - Stack Overflow 可以了解到如何用...currentForegroundWindowThreadId = Win32.User32.GetWindowThreadProcessId(currentForegroundWindow, IntPtr.Zero); // [c#...- Bring a window to the front in WPF - Stack Overflow](https://stackoverflow.com/questions/257587/bring-a-window-to-the-front-in-wpf

    3.2K11

    【愚公系列】2023年09月 WPF控件专题 Image控件详解

    欢迎 点赞✍评论⭐收藏 前言 WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。...这些控件都是WPF中常见的标准用户界面元素。 自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。...BitmapImage类用于加载图像,并将其设置为Image控件的。 1.属性介绍 WPF中Image控件的常用属性如下: Source:设置或获取图像的。...WPF中使用Image控件可以轻松地显示GIF等动态图片格式。 图像自适应。Image控件具备自适应大小的能力,可以根据容器大小自动调整图像的大小,从而更好地适应不同的窗口布局。 显示图形资源。...除了加载外部图片文件,Image控件也可以直接加载XAML文件中的图形资源,这些资源可以是由Path、Ellipse、Rectangle或其他形状定义的图形对象,也可以是由Drawing对象定义的复杂图形

    71100

    dotnet 从入门到放弃的 500 篇文章合集

    C# 判断系统版本 C# 动态加载卸载 DLL C# 复制列表 C# 如何写 DEBUG 输出 C# 如何在项目引用x86 x64的非托管代码 C# 已知点和向量,求距离的点 C# 强转会不会抛出异常...declined git rebase git subtree pull 错误 Working tree has modifications git 上传当前分支 git 使用 VisualStudio 比较分支更改...-warning-msb3246 visual-studio-创建项目失败vstemplate visual-studio-自定义项目模板 VisualStduio 打断点调试和不打断点调试有什么区别...商业游戏 1.1.5 win10 uwp 商业游戏 1.2.1 win10 uwp 图标制作器 win10 UWP 圆形等待 win10 uwp 如何创建修改保存位图 win10 uwp 如何判断一个对象被移除...WPF 弹出 popup 里面的 TextBox 无法输入汉字 WPF 拖动时出现 Invalid FORMATETC structure WPF 拖动滚动 wpf 拦截异常 让多线程异常不会让程序闪退

    10.4K20
    领券