问题标签 [itemscontrol]

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.

0 投票
1 回答
562 浏览

silverlight - 如何使用 Silverlight2 ItemsControl 在画布上定位项目集合?

在 WPF 中,您可以创建一个带有 Canvas 作为 ItemsPanel 的 ListBox,并在该画布上放置项目。执行此操作的代码如下所示:

你能在 Silverlight2 ListBox 或者最好是 ItemsControl 中做同样的事情吗?

0 投票
2 回答
6011 浏览

.net - WPF - 为什么 ContextMenu 项目适用于 ListBox 而不是 ItemsControl?

列表中的项目具有上下文菜单。上下文菜单项绑定到路由命令。

如果列表控件是 a ,则上下文菜单项可以正常工作ListBox,但是一旦我将其降级为 aItemsControl它就不再工作了。具体来说,菜单项始终是灰色的。我的CanExecute回调CommandBinding也没有被调用。

是什么ListBox让带有命令的上下文菜单项正确绑定?

以下是我为突出问题而整理的示例应用程序的一些摘录:

这是视图模型和数据项的 C# 代码:

这是控件的 C# 代码隐藏:

只是为了重申这个问题 - 是什么ListBox提供了允许它的上下文菜单项命令正确绑定的东西,有什么方法可以让它工作ItemsControl吗?

0 投票
1 回答
12052 浏览

wpf - 将网格行的高度绑定到 WPF 中的内容

我有一个有几行的网格。在第一行,我有一个 ItemsControl,它动态绑定到一个集合并使用 DataTemplateSelector 和 ItemsPanelTemplate(带有一个水平排列的 WrapPanel)。这是我迄今为止所拥有的精简版:

我不想将第一行的高度设置为 40,而是根据 ItemsControl 必须适合其所有内容的最小高度动态设置它。由于 ItemsControl 的高度受 Grid Row 的高度限制,我无法确定我应该绑定哪个元素以及我应该将它绑定到哪个元素的属性。

将网格行的高度绑定到 ItemsControl 的“所需高度”是有意义的。因此,我找到了 DesiredSize 属性并将我的 RowDefinition 的高度绑定到 ItemsControl 的 DesiredSize.Height。这在它第一次加载时有效,但在我调整控件大小时不会更新(请记住,我使用 WrapPanel 作为我的 ItemsPanelTemplate,所以当我调整窗口大小时,ItemsControl 的高度应该会改变)。

有谁知道绑定框架是否支持这种情况,或者我是否需要添加事件处理程序代码来完成此操作?

谢谢。

0 投票
2 回答
2059 浏览

wpf - 如何构建带有重复标题的分页 ItemsControl 或 Panel?

我正在尝试构建一个 Panel 或 ItemsControl ,它将以以下形式显示项目:

标题 1

  • 子项 1
  • 子项 2
  • 分项 3

标题 2

  • 子项 1
  • 子项 2

这很容易,但这里的问题是我需要能够以分页方式拆分项目。根据控件的高度,不适合的内容将出现在下一页(依此类推)。如果子项之间发生拆分,我还需要在下一页上重新显示相应的标题。

I made some progress working with MeasureOverride and ArrangeOverride but I keep running into dead-ends. It's really frustrating because this is something that is computationally trivial but a nightmare to accomplish in WPF/Silverlight. If you have ever worked with reporting packages, the concept is very similar to this.

I keep coming back to the fact that I can't determine the height until after I have added the children to the control (using Dispatcher.BeginInvoke).

Does anyone have any suggestions for accomplishing this? Thanks in advance!


Edit

[WPF] ObservableCollection and ListBoxItem DataTemplate generation problem

This above link is very similar to what mdm20 has suggested, but I am still stuck. Everytime I try to get the ActualHeight, it returns 0. Additionally, the ItemContainerGenerator in Silverlight 3 returns null for the container unless I wrap the call in a Dispatcher.BeginInvoke operation.

0 投票
3 回答
10150 浏览

wpf - WPF 数据绑定项目符号列表

如何在 WPF 中创建数据绑定、项目符号的超链接列表?

我有这个:

但我不知道如何将这些物品变成子弹。我看到 BulletDecorator,但我不想指定自己的项目符号图像,我只想要标准项目符号。

0 投票
3 回答
1171 浏览

.net - 在项目控件中包含的环绕面板上放置一个 scoll 条

有人知道如何将滚动条添加到包含在 itemscontrol 中的包装面板中吗?

0 投票
2 回答
11632 浏览

.net - 使用 StackPanel 作为 ContentControl (WPF)

所以我有一个 StackPanel,用作 ContentControl。我有一个地方,我希望根据我绑定的数据生成按钮,这一切都很好,但我希望按钮水平布局,而不是像当前正在发生的那样垂直布局。这是一个屏幕截图:

替代文字

这是我的 ContentTemplate 描述中的代码:

不知道我在这里做错了什么。任何信息,将不胜感激。谢谢!

0 投票
1 回答
7046 浏览

wpf - WPF 拖动滚动无法正常工作

我想在我的应用程序中实现拖动滚动功能,但在路上遇到了问题。有谁能够帮我?我有一个 ScrollViewer,其中有一个 ItemsControl,在 ItemsTemplate 中有一个 UserControl。我想在 ItemsControl 中拖动那个 UserControl。当我拖动到 ItemsControl 的边界时,我希望 ScrollViewer 向下滚动。

当我通过调用DragDrop.DoDragDrop()滚动开始拖动时不会发生。但是当我禁用拖动时,ScrollViewer 会根据鼠标位置向下滚动。也许有一些我不考虑拖动和捕获鼠标的事情?感谢关注。加雷金

0 投票
1 回答
314 浏览

wpf - 在 WPF 控件上实现 SelectedValues 属性

我正在创建一个 CheckedComboBox WPF 控件。我想添加一个可以通过 XAML 绑定的 SelectedValuesProperty。我已经尝试了一些不同的东西,但还不能让它工作。有没有人对如何解决这个问题有任何建议?我的控件继承自 MultiSelector。提前致谢!

这是我到目前为止所拥有的,问题是我无法从对象中获取 itemcontainer:

0 投票
3 回答
4959 浏览

wpf - 我的 ViewModel 是否应该有一个 ObservableCollection 的 Views 或 ViewModels?

我试图通过通过DataTemplates将其绑定到ViewModel 上的ObservableCollections来了解使用ItemsControl时的基本 MVVM 设计方法。

我见过绑定到字符串视图和视图模型的ObservableCollections的示例。

绑定到字符串似乎只适用于演示,它是对“包含 ViewModels 集合的 ViewModels的绑定”,WPF 的强大功能似乎真正发挥了作用。

对于那些精通 MVVM 模式的用户,您将 ItemsControl、ListView、ListBox 绑定到 ViewModel 中的集合的标准方法是什么?我正在从这样的经验中寻求建议:

  • 始终使用 ObservableCollection<...> 而从不使用 List<...> 因为...
  • 比 ItemsControl 显示集合更好的东西是......
  • 为了让过滤在您的 ViewModel 中而不是在代码隐藏中工作,请使用...
  • 在...时使用视图集合,在...时使用 ViewModel 集合
  • 90% 的时间我创建了一个 ItemsControl 并将它绑定到一个 ObservableCollection 的 Views 中,这些 Views 有自己的 ViewModels...