Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何转换列表<;T>;列出<;动态>;WPF_C#_Wpf - Fatal编程技术网

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();