【问题标题】:The type{0} does not support direct content - WPF / XAML{0} 类型不支持直接内容 - WPF/XAML
【发布时间】:2012-05-03 02:26:36
【问题描述】:

我在我的代码中定义了两个类:一个具有公共“Age”和“Name”属性的“Person”类,以及一个从 Generic.List(of T) 继承的“People”类。

People类的代码如下:

Public Class People
    Inherits Collections.Generic.List(Of Person)

    ...
End Class

我想要实现的是直接初始化People类,并在XAML中添加个人Person,即:

<local:People x:Key="Familty">
        <local:Person Age="11" Name="John" />          
        <local:Person Age="12" Name="John2" />
        ...
</local:People> 

但我在 XAML 中不断收到错误消息: “人物”类型不支持直接内容。

关于如何解决这个问题的任何想法?

非常感谢!

【问题讨论】:

  • 您是否使用“年龄”和“姓名”的依赖属性?
  • 您还需要 Person 和 People 的模板,以便 XAML 知道如何呈现它。

标签: wpf vb.net xaml


【解决方案1】:

你到底想做什么?

您尝试将内容设置为控件(必须是 ContentControl / 或继承的类)的接缝。另请注意,您在 xaml 中设置内容,这意味着它至少必须是 UIElement。

如果您想表示人员列表,请将 dataTemplate 设置为该数据类型并进行可视化表示,然后将 ItemsSource(应为项控件的人员)设置为人员列表(或可观察的集合) .

您应该考虑将 UI 与模型分开。

那么,你到底想做什么?

【讨论】:

    猜你喜欢
    • 2016-03-08
    • 2014-06-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2019-04-26
    相关资源
    最近更新 更多