问题标签 [itemssource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何获取绑定到 ObservableCollection 以响应添加的 UserControl 派生类?
我的集合看起来不错,因为我可以使用 ListView 并且它可以正确响应添加,但是当我将 listview 嵌套到 UserControl 中时它不会。我已经提供了相关的代码。
我以这种方式创建了一个 UserControl 派生类:
使用这样的 XAML:
我的消费 XAML 如下所示:
集合的定义如下:
wpf - 在网格中填充 ComboBox
我有ViewModel
两个集合属性。我用来填充DataContext
设置为 this的页面上的表单字段的一个集合ViewModel
。在这个表格中,在填充了集合的字段中,我还有一个ComboBox
我想用其他集合填充的字段。
我使用 Grid 进行布局,并将此 GridDataContext
设置为第一个集合。当我有一个ComboBox
网格之外时,我可以很容易地用第二个集合填充它。但是一旦我尝试在网格中这样做时,我似乎无法完成它。
在代码片段中,我将 Grid 设置DataContext
为ItemTypes
. 从ItemTypes
字段中可以得到它们的值。虽然ComboBox
需要从其他集合中获取其值:
wpf - 使用 WPF 进行数据绑定
我是 WPF 的新手,下面的内容让我困惑了一段时间:
我的模型中有一个 observableCollection of People 对象,它绑定到我的 tabControl。因此,每添加一个新的 People 对象,就会创建一个新选项卡,其中 People.Title 作为选项卡的标题。
每个 People 对象都有一个 Friend 对象的 ObservableCollection。在选项卡内部,我想要一个包含两个文本框的列表,一个用于 Friend.FirstName,另一个用于 Friend.LastName。
我的第一个要求工作正常,但第二个要求给我一个错误'ItemsSource is already in use'
到目前为止,这是我的代码:
我感谢您的帮助。
wpf - 更改 Button.Click 上的 ListBox.ItemsSource 绑定属性?
快速提问...
我有一个ListBox
其ItemsSource
属性绑定到视图模型中的集合属性,如下所示:
Button
我在同一个视图中也有两个对象。问题是...我可以CollectionsListBox
ItemsSource Binding
从使用 XAML更改Activity.Timesheets
为吗?Activity.Attachments
做不到这一点,从使用命令对象的视图模型?
编辑>>>
我从霍华德的部分答案中使用RadioButton
s 而不是s 找到了一个简单的解决方案:Button
非常感谢您的帮助。
c# - 在自定义控件中模仿 ItemsControl 行为
我有课标记
和自定义控件,除其他属性外,还公开标记集合
我想模仿 ItemsControl 行为并允许我的组件的用户直接或通过使用 ItemsSource 类比来指定标记。此外,我希望这两种方法都支持数据绑定(最好在 XAML 中)
直接标记
使用 MarkersSource 的标记
第一种方法非常简单,但我正在为第二种方法苦苦挣扎。
如何实现 MarkesSource?如何将 UserSpecifiedCollection 的项目转换为 Marker 类型?UserSpecifiedCollection 项的属性如何数据绑定到 Marker 的属性?
关于转换,我认为可以使用 ValueConvertor,但我更喜欢纯 XAML 解决方案,比如 DataTemplates。有可能的?
wpf - 对绑定到 ObservableCollection 的列表框进行排序
如何对我的列表框内容进行排序?在我看来,将其仅保留在 UI 层上会更有意义,因为排序不会影响我的业务逻辑,因此它可能位于 xaml 或代码隐藏中。我不知道该怎么做。
wpf - WPF:ICollectionView - 如果项目包含在另一个列表中,则过滤一个列表?
基本上,我有 2 个 ListView,每个绑定到不同的ItemsSource
.
列表 1不能更改(它是 a ReadOnlyObservableCollection
)。
清单 2可以更改(通过用户交互)。
我需要在列表 1 中添加一个过滤器,这样它就不会显示在列表 2 中找到的任何内容。这是我目前的代码...
List2.ItemsSource 以 IEnumerable 而不是 ObservableCollection (实际上是什么)的形式返回。我想尽可能有效地做到这一点,所以我不确定我是否应该:
- 将 ItemsSource 显式转换为 IList 以获得对 Contains 的访问权限?
- 自己遍历 ItemsSource 看它是否包含该项目?
- 使用 LINQ 的 Cast 扩展方法强制转换为 IList(或其他类型)以获得对 Contains 的访问权限?
- 还有什么办法吗?
更新:
第一次渲染后,它似乎没有继续过滤项目:
更新 2:
我想我明白为什么它没有重新应用过滤器。原始集合没有引发 CollectionChanged 通知,因此它不会费心再次运行过滤器。也许解决这部分更适合作为不同的问题?但是,如果有人想在这里回答它:
当 List2 集合更改时,如何让我的 List1 重新应用过滤器?
更新3:我在一个单独的SO问题 中询问了如何与collectionchanged事件联系起来并得到了我的答案。
wpf - WPF:如何挂钩到 ListView 的 ItemsSource CollectionChanged 通知?
我有一个ListView
数据绑定到ObservableCollection
...
我似乎找不到任何在集合更改时触发的事件,所以我想我需要以某种方式挂钩到 collectionchanged 通知?我不确定该怎么做。
基本上,当集合发生变化时,我想做除了 ListView 在更新列表中已经做的工作之外的额外工作。
wpf - WPF将ItemsSource绑定到静态方法?
我在一个名为“Article”的类中有以下静态方法:
而且我想将它直接绑定到 ComboBox 的 ItemsSource 属性,但在 XAML 中而不是在代码中,我找不到正确的语法。
我认为它应该看起来像这样(EmacGbscCore 是包含 Article 对象的程序集):
提前感谢您的帮助。
c# - 显示 ItemsControl.ItemsSource 是否为空
问候,
我有一个 ItemsControl,我更改了哪个模板来为绑定的 ItemsSource 中的每个对象显示一个 RadioButton。
但是 ItemsSource 可以为空,当它为空时,我想显示一个默认值。诸如“绑定列表不包含可供您选择的项目”之类的内容...
我想到的一种方法是将 ItemsControl.Visibility 设置为 Collapsed 并将 TextBlock.Vsibility 设置为 Visible 以显示文本。但这将包含更多数据。
如果 ItemsControl.ItemsSource 为空,是否可以显示默认值?