C# 如何转换列表<;T>;列出<;动态>;WPF
假设我有一个列表框C# 如何转换列表<;T>;列出<;动态>;WPF,c#,wpf,C#,Wpf,假设我有一个列表框 <ListBox ItemsSource="{Binding MyList}"/> 填写myList private void FillA() { List<A> listA = GetListAFromSomewhere(); MyList = listA; } private void FillB() { List<B> listb = GetL
<ListBox ItemsSource="{Binding MyList}"/>
填写myList private void FillA()
{
List<A> listA = GetListAFromSomewhere();
MyList = listA;
}
private void FillB()
{
List<B> listb = GetListBFromSomewhere();
MyList = listb;
}
private void FillC()
{
List<C> listC = GetListCFromSomewhere();
MyList = listC;
}
private void FillA()
{
名单
感谢您的帮助!我认为您的问题是由协方差/协方差引起的。类不支持此功能。您可以使用接口或Cast linq方法。请参阅此处的详细信息:
我的意思是这样的:
MyList = GetListAFromSomewhere().Cast<dynamic>().ToList();
MyList=GetListAfromHomewhere().Cast().ToList();
也不确定您的列表框是否能与dynamic一起正常工作。您可以在XAML中使用继承和TemplateSelector:
private void FillA()
{
List<A> listA = GetListAFromSomewhere();
MyList = listA;
}
private void FillB()
{
List<B> listb = GetListBFromSomewhere();
MyList = listb;
}
private void FillC()
{
List<C> listC = GetListCFromSomewhere();
MyList = listC;
}
MyList = GetListAFromSomewhere().Cast<dynamic>().ToList();