【问题标题】:Binding to an ObservableCollection of UserControls绑定到 UserControls 的 ObservableCollection
【发布时间】:2010-05-22 19:37:40
【问题描述】:

简单的 Silverlight 问题:我的视图模型中有一个 ObservableCollection。每个 MyObject 都有一个 Label 属性。如果我将 ListBox 绑定到集合并将 DisplayMemberPath 设置为 Label,或者将 ItemTemplate 设置为将 Text 属性绑定到 Label 的 TextBlock,则一切正常。

如果我更改 MyObject 使其派生自 UserControl,则 Label 文本不再显示在 ListBox 中;每个项目仅显示为几个像素高的空白条。为什么是这样?很明显,我在这里遗漏了一些关于如何呈现不同事物的内容。

【问题讨论】:

    标签: silverlight data-binding xaml


    【解决方案1】:

    ListBox 确定其ItemsSource 中的项目集已经是UIElement 实例,因此决定将这些元素直接用作它创建的ListBoxItem 元素的内容。

    【讨论】:

    • 谢谢。正是这种事情让我对 XAML 感到沮丧——我可以给它非常具体的指令以某种方式呈现内容,而它完全忽略了它们!
    • nlawalker:要么他们没有预料到这种情况,要么他们觉得解决这种情况的成本不值得付出努力。毕竟把一组 UIElement 当作数据来对待是很奇怪的
    猜你喜欢
    • 1970-01-01
    • 2012-12-18
    • 2011-04-10
    • 1970-01-01
    • 2013-04-24
    • 2016-09-13
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    相关资源
    最近更新 更多