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:
至列表
列表
请注意我的错误:
- “A”代替A(不带引号)李>
- 它在XAML中应该是
(但不是String
)(而在C#中是String
或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}}"/>