- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以看起来我想做的事情应该很简单,但我一直没能找到方法...
我需要显示一个对象列表,这些对象代表用于输入数据的自定义元素。每个对象的确切显示方式取决于对象的参数 - 因此它可以是包含名称、描述和文本框的网格。它可以是带有几个标签和下拉菜单的网格。它可以是一个包含多个子对象的扩展器。它可能是尚未构建的新事物(因此它需要可扩展)。现在,我通过为每个对象创建 FrameworkElement 然后手动将其添加到 Grid 来填充此列表。
我想切换到将我的对象保存在 ObservableCollection 中,然后将该集合绑定(bind)到 ListBox(或类似的)。这样,当列表中添加或删除新对象时,UI 会相应地自动更新。我想不通的是,有没有一种方法可以将其指向我的 C# 方法来为每个对象创建自定义配置的 FrameworkElement,以便在添加新对象时将适当的元素添加到 UI?
最佳答案
好吧,就想要使用 ObservableCollection<T>
而言,您走在正确的轨道上和一个 ListBox
控制。不过,我敢说您可能只想使用 ItemsControl
因为您可能不关心选择特定项目,而只是显示项目的枚举,以及 ListBox
将允许您实际选择其中一项。
您的问题是您希望列表中的每个项目根据特定条件以不同方式显示。为此,您需要查看 DataTemplate
和 DataTemplateSelector
类。
基本上,一个 DataTemplate
是一种表达“我希望我的元素看起来像这样。”的方式,还有一个DataTemplateSelector
是一种表达“我想根据这个标准选择这个特定的 DataTemplate”的方式。
这里有一些关于如何使用 DataTemplate
的例子/DataTemplateSelector
类:
关于c# - 自定义用于显示 ObservableCollection 内容的 FrameworkElements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558034/
我是 Silverlight 编程的新手。谁能告诉我两者之间的区别 FrameworkElement obj=sender as FrameworkElement 和 FrameworkElement
在对 Cannot find governing FrameworkElement or FrameworkContentElement for target element 错误进行了一些研究后,我
我试图在构造函数中设置Page的Name属性: public partial class PageListView : Page { public PageListView(string ti
试图让 OnMouse 事件出现在 child 身上 FrameworkElement .父元素是 Panel (并且 Background 属性不是 Null)。 class MyFramework
我们有一个派生自 FrameworkElement 且不受我们控制的类。此类在 OnInitialize 中注册事件处理程序方法。 由于 FrameworkElement 不提供与 OnInitial
我一直在通过 Sells/Griffiths 的“Programming WPF”自学 WPF,我发现它是一个很好的资源,但我正在尝试采用他们向我介绍的一些概念并开始更进一步,我遇到了关于如何将各个部
我正在使用我在 http://brianlagunas.com/wpf-copy-uielement-as-image-to-clipboard/ 找到的一些代码复制呈现的 XAML Treeview
我不清楚您何时会使用 UIElement而不是 FrameworkElement ,以及为什么会有 FrameworkElement根本没有课。本质上,FrameworkElement 的额外功能是什
我正在尝试在使用 Uno 构建的 WebAssembly 应用程序中创建文件对话框。我添加了一个自定义 FrameworkElement 来创建 在页面中像这样: [HtmlElementAttrib
我收到了 FrameworkElement在类的事件处理程序中。是否有可能检查这个 FrameworkElement是具有 borderthickness/borderbrush 属性的元素吗? 喜欢
根据文档“(FrameworkElement.SizeChanged) 当此元素上的 ActualHeight 或 ActualWidth 属性值更改时发生。” 运行以下测试方法,我的矩形的 Actu
每个 FrameworkElement 都有一个 Loaded 事件,该事件在以下情况下触发: the tree is not only built and initialized, but layo
您能否举例说明如何创建直接从 FrameworkElement 派生的自定义复合控件(在 Silverlight 4 中)。这是一个模型: public sealed class CompositeI
我有一棵视觉树。主窗口有一个全尺寸的 Canvas 。 Canvas 包含一些自定义视觉对象的根。第一个自定义 Visual (A) 可以根据用户正在查看的内容进行扩展和收缩,这些内容位于子项中(Bs
是否可以识别哪个窗口/用户控件拥有 FrameworkElement ? 谢谢你。 最佳答案 您可以使用 .Parent “走上去” - 属性,直到找到窗口或用户控件。只需在向上走时检查 parent
我有一个 FrameworkElement(实际上是一个 ToggleButton),其内容中有一个 Popup。 我是这样访问的: ToggleButton button = (ToggleButt
我正在尝试自定义绘制 GridSplitter,并且我有以下 XAML 代码: DiffSplitterCanva
如何获取框架元素边界矩形的左上角坐标? let fe : FrameworkElement = ea.Item.Content let p = fe.TranslatePoint(ne
对于 WPF,Window 类中有一个 ContentRendered 事件,它让我们知道视觉元素何时被渲染。 有什么可以帮助我为 UWP 应用实现相同的结果吗?我想知道 FrameworkEleme
我的一个数据源生成一组值,这些值被输入到以下接口(interface) public interface IData { string Name { get; } FrameworkE
我是一名优秀的程序员,十分优秀!