如何在WPF XAML中使用嵌套类?

我正在重构示例中的代码:

  • 24.129.21。 主细节装订
    来自C#/ CSharp教程 »Windows Presentation Foundation»绑定)

并且在排除技能课程后 ,进行相应的更改
MainWindow.xaml中

     

MainWindow1.xaml.cs中

 using System.Collections.Generic; using System.Collections.ObjectModel; using System.Windows; namespace WpfApplication { public class Skill {//I'd like to exclude class Skill having moved it into class Employee as nested one public string Description { get; set; } } public class Employee { public string Name { get ; set; } public int Age { get; set; } public List Skills { get; set; } public Employee() { Skills=new List(); } /*class Skill { public string Description { get; set; } } */ } public class Team : ObservableCollection { } public class Company { public string CompanyName { get ; set; } public Team Members { get ; set; } } public class Companies : ObservableCollection { } public partial class Window1 : Window { public Window1() { InitializeComponent(); } } } 

如果要移动,我应该如何更改Window1.XAML:

  • Skill类进入Employee

在Window1.xaml.cs?

相关问题

基于相同的代码:

  • 如何在WPF XAML中将自定义类型更改为系统类型(字符串)?

更新(回答第一次RV1987的评论)

答案tp 在XAML中创建嵌套类的实例告诉它可能但不清楚如何使用:

  • Ludovic回答说这是可能的,但包含评论,不清楚如何使用。
    这完全符合我的经验和这个问题
  • townsean的另一个答案是基于msdn的引用:
    “您的自定义类不能是嵌套类。嵌套类和一般 CLR使用语法中的”点“会干扰其他WPF和/或XAMLfunction,例如附加属性。”

    但是,它一般来说 ,对于“你的自定义类”,但在我的具体代码附加到这个问题有几十个“点” (如Employee.Skills ),它不是我的自定义类嵌套但我的自定义类里面有嵌套类。

Update2(回答第二次RV1987的评论问题)
是的,我刚刚尝试了+方法 ,但这不起作用,但是:

  • 即使在完美的工作元素上,XAML也会给我错误
  • 我自己并没有尝试过使用reflection器,也没有找到其他任何可行的方法或者微软对它的模糊参考

不幸的是,XAML(来自MSDN )无法实现您想要做的事情:

您的自定义类不能是嵌套类。 嵌套类和一般CLR使用语法中的“点”会干扰其他WPF和/或XAMLfunction,例如附加属性。