问题标签 [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.
wpf - WPF DataTemplate:如何即时创建工具提示?
我正在使用 DataTemplates 来呈现 ItemsControl 中的项目。我想为每个项目显示一个工具提示。如果我使用 ToolTip="{Binding MyToolTip,Mode=OneWay}" 之类的绑定,WPF 会在开始时获取一次工具提示,并且在打开时不会更新工具提示。
我的项目实现了 INotifyPropertyChanged,因此原则上我可以为 MyToolTip 生成更改通知。问题是,工具提示是基于底层模型中的许多信息生成的。这些信息经常更改,为 MyToolTip 属性生成更改通知既麻烦又低效。此外,我不希望最初生成所有项目的工具提示。相反,我想在打开工具提示时强制生成一个新的工具提示。我该怎么做?
wpf - 如何在 ItemsControl 周围放置边框?
我在用户控件中有一个带有自定义面板的项目控件。用户控件的大小仅受父窗口大小的限制。
我现在希望只在生成的面板周围绘制边框。但相反,它围绕整个网格绘制,或者可能更精确地以与网格相同的大小绘制。
我想我在 HexagonalPanel 上正确实现了 MeasureOverride,它返回正确的大小,所以它不应该以那个大小绘制边框吗?
我错过了什么?
c# - 当内容是可变高度时,列表框滚动条拇指会改变大小
我有一个 ListBox 显示了许多对象,每个对象都可以是可变高度,具体取决于每个对象具有的值的数量。请参阅我之前在此处回答的问题。
许多对象是 5 行高,而其他对象是 1 行。ListBox 中的滚动条看起来不像这样,可能是由于虚拟化。当您滚动浏览时,滚动条上的拇指将改变其大小,具体取决于当前实际放入框中的项目数量。这使得拇指有时很大,有时又很小。
由于此 ListBox 也包含在 TabControl 中,因此当您从一个选项卡切换到另一个选项卡时,当您返回时,ListBox 通常会滚动到不同的部分。
任何想法如何解决这样的问题?
附加信息: 禁用虚拟化确实可以解决滚动问题,但代价是初始显示速度较慢。但是,使用内部内容调整 ListBox 的大小会在水平调整大小(垂直很好)时导致一些严重滞后,我假设这是由于我的模板的宽度发生变化并且需要对每个元素进行重绘:
这是在字段边缘周围绘制边框以进行视觉分组,其中 val 将拉伸到内容大小。列表框还具有 HorizontalContentAlignmment = Stretch 以确保这看起来正确。
注意:如果需要在不同的问题中提出这个问题,请告诉我,我会分开问题
wpf - 在 WPF itemscontrol 中查找控件
嗨,我在 itemscontrol 的数据模板中只有几个文本框。当我将 itemcontrols 绑定到可观察集合时,我得到两个文本框。但我需要根据每个文本框进行一些操作,我想使用一些 id 分别找到每个文本框。
任何人都可以帮助如何在 WPF 中的 itemscontrol 中找到控件。
wpf - 从 itemscontrol 获取具有键盘焦点的 UI 元素
我有一个项目控件,它根据视图模型中的可观察集合项目显示一些文本框。我需要确定在单击项目控件之外的按钮时具有键盘焦点的文本框。
问题: 1. 当我单击按钮时,键盘焦点转移到按钮而不是文本框。2. 我怎样才能获得在itemscontrol 中有键盘焦点的ui 元素。
提前感谢您的建议。
c# - itemControl 中的 WPF 键盘焦点问题
我有一个 WPF 窗口,它分为两部分。其中一部分包含项目控件,它根据 ViewModel 中的可观察集合绑定生成文本框。
窗口的另一部分有一个内容控件,它使用数据模板和视图模型绑定加载用户控件。该用户控件上也有按钮。
问题是我想始终将键盘焦点保持在 itemscontrol 中的文本框中,并且即使按下它们也不希望键盘焦点转移到 usercontrol 按钮。
当前,当按下按钮时,键盘焦点从文本框转移到用户控件按钮。
有没有办法让我在项目控件的文本框中保持键盘焦点。
c# - 如何访问 ItemsControl 的子项?
如果我有一个派生自 的组件ItemsControl
,我可以访问它的子组件的集合,以便我可以遍历它们以执行某些操作吗?目前我似乎找不到任何简单的方法。
c# - WPF中类似访问的数据导航?
在 XAML/C# 中的访问表单中构建数据导航的最佳方法是什么?
我是否应该构建一个用户控件(甚至自定义控件),然后将其绑定到我的集合中,以便在其中放置其他控件?(因此这个问题:C# User Control that can contain other Controls (when using it))
或者我可以通过某种方式从 ItemsControl 派生来构建一些东西吗?如何?
或者今天会完全不同(比如“这种导航风格是去年的!”)?
我对 C# 和所有人都比较陌生(不是这样编程,而是更像“家庭主妇语言”Access-VBA),我也不是以英语为母语的人。所以请温柔=)
wpf - 在 WrapPanel 中同步 WPF 控件宽度
我有这个案例
我希望 WrapPanel 中的所有 CheckBox 的宽度都相同。
添加以下几乎可以达到预期的效果
但是,我不想硬编码特定的宽度,而是让最大的 CheckBox 设置宽度(如果任何宽度> 75,上面的方法也会失败)。
Slider 是独立的,应该允许大于 CheckBoxes。
我不想使用网格(带有 IsSharedSizeScope),因为我不想要硬编码的列数。
本文提出了一个有趣的解决方案,但如果不创建自定义控件或使用 C# 代码来解决该问题会很好。
最好的方法是什么,最好只在 XAML 中?
wpf - WPF 错误:“在使用 ItemsSource 之前,项目集合必须为空。”
有谁知道为什么我不断收到“使用 ItemsSource 之前项目集合必须为空”的错误?
这是代码:
这就是我在我的代码隐藏中所做的:
请注意,CustomerCollection 只是一个简单的 List <Customers
>。
谢谢你的帮助!
干杯