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

C# 如何在WPF XAML中将自定义类型更改为系统类型(字符串)?,c#,wpf,xaml,data-binding,C#,Wpf,Xaml,Data Binding,可能重复: 我正在从示例中折射代码: 从Windows演示文稿基础(绑定) 并且, 在main窗口中.xaml <local:Team> <local:Employee Name="Larry" Age="21"> <local:Employee.Skills> <!-- local:Skills --> <local:Skills> 我在主窗口1.xaml.cs中有: using

可能重复:

我正在从示例中折射代码:


  • 从Windows演示文稿基础(绑定)
并且,
main窗口中.xaml

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

我在主窗口1.xaml.cs中有:

using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows;
namespace WpfApplication
{
  public class Skill
  {//I'd like to remove class Skill having moved property string Description into class Employee 
    public string Description { get; set; }
  }

   public class Employee 
   {
    public string Name { get  ; set; }
    public int Age  { get; set; }
//I'd like to change in the next line Skill --> String               
    public List<Skill> Skills { get; set; }
    //public List<String> Skills { get; set; }

     public Employee()
     {
//I'd like to change in the next line Skill --> String       
       Skills=new List<Skill>();
       //Skills=new List<string>();
     }
  }

  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();
    }
  }
}
使用System.Collections.Generic;
使用System.Collections.ObjectModel;
使用System.Windows;
命名空间WpfApplication
{
公开课技能
{//我想删除已将属性字符串描述移动到类Employee中的类技能
公共字符串说明{get;set;}
}
公营雇员
{
公共字符串名称{get;set;}
公共整数{get;set;}
//我想在下一行中更改技能-->字符串
公共列表技能{get;set;}
//公共列表技能{get;set;}
公职人员()
{
//我想在下一行中更改技能-->字符串
技能=新列表();
//技能=新列表();
}
}
公共类团队:ObservableCollection{}
公营公司
{
公共字符串CompanyName{get;set;}
公共团队成员{get;set;}
}
公共类公司:可观测集合{}
公共部分类Window1:Window
{
公共窗口1()
{
初始化组件();
}
}
}
如果要更改,应如何更改Window1.XAML:

  • 列表
    列表
在Window1.xaml.cs中

基于相同代码的相关问题:

更新:
请注意我的错误:

  • “A”代替A(不带引号)
  • 它在XAML中应该是
    String
    (但不是
    String
    )(而在C#中是
    String
    String
  • 试图根据现有代码将as属性放置在一个标记中
    而不是:
    A

您的员工课程采用了您希望的新方法-

public class Employee
{
    public string Name { get; set; }
    public int Age { get; set; }
    public List<String> Skills { get; set; }

    public Employee()
    {
        Skills=new List<string>();
    }
}
我用
ListBox
测试了上面的代码及其工作原理-

<ListBox ItemsSource="{Binding Skills, Source={StaticResource teams}}"/>


哇,非常感谢。问题是,我以前从未手动编写过XML—只有编辑器—或Intellisense辅助。WPF编辑器不是很友好,你能把所有的XAML脚本都封装起来吗?虽然很清楚如何在XAML中使用字符串类型,但我急于接受您的答案,而没有成功地在主细节上下文中运行它
xmlns:sys="clr-namespace:System;assembly=mscorlib"
<ListBox ItemsSource="{Binding Skills, Source={StaticResource teams}}"/>