c# – 如何在WPF XAML中使用嵌套类? - 代码日志

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

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

> 24.129.21. Master Detail Binding
C# / CSharp Tutorial»Windows Presentation Foundation»绑定)

after excluding Skills class,有相应的变化
在MainWindow.xaml中

<local:Team>
  <local:Employee Name="Larry" Age="21">
    <local:Employee.Skills>
      <!--  local:Skills -->
       <local:Skills>

在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<Skill> Skills { get; set; }

     public Employee()
     {
       Skills=new List<Skill>();
     }

     /*class Skill  
     {
          public string Description { get; set; }
     }   */
  }

  public class Team : ObservableCollection<Employee> { }

  public class Company
  {
    public string CompanyName { get  ; set; }
    public Team Members { get  ; set; }
  }

  public class Companies : ObservableCollection<Company> { }

  public partial class Window1 : Window
    {
      public Window1()
    {
        InitializeComponent();
    }
  }
}

如何更改Window1.XAML如何移动:

>技能类进入员工类

在Window1.xaml.cs?

相关问题

基于相同的代码:

> How to change a custom type to System type (string) in WPF XAML?

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

答案tp Creating an instance of a nested class in XAML告诉它可能但不清楚如何使用:

> answer by Ludovic告诉它是可能的,但包含注释,它不清楚如何使用。
这与我的经验和这个问题是一致的
>另一个answer by townsean是基于引文from msdn
“您的自定义类不能是嵌套类,其一般CLR使用语法中的嵌套类和”点“会干扰其他WPF和/或XAML特性(如附加属性)。

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

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

XAML给我的错误甚至在完美的工作元素
>我没有试图自己使用反光板,或者找到任何其他可行的方法,或者更少的微软参考

不幸的是,在XAML(MSDN)中,您无法做到这一点:

Your custom class must not be a nested class. Nested classes and the “dot” in their general CLR usage syntax interfere with other WPF and/or XAML features such as attached properties.

http://stackoverflow.com/questions/14546347/how-to-use-nested-class-in-wpf-xaml

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何在WPF XAML中使用嵌套类?