Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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/1/oracle/9.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
Wpf 如何将图像控件动态绑定到ListBox?_Wpf_Wpf Controls - Fatal编程技术网

Wpf 如何将图像控件动态绑定到ListBox?

Wpf 如何将图像控件动态绑定到ListBox?,wpf,wpf-controls,Wpf,Wpf Controls,我想实现一个列表框,其中每个项目包括一个图像控件和一些其他控件,然后使用它绑定一些数据。由于这个列表框需要包含2000多个项目,这意味着我必须对它进行一些优化 首先,我注意到大多数图像控件都有一张相同的图片(默认的化身),所以我为数据创建了一个单一的ImageSource对象。但是,尽管图像控件的源是同一个对象,但您知道我还需要使用下面的DataTemplate在列表框中创建2000图像控件: <ListBox ItemsSource="{Binding Items

我想实现一个列表框,其中每个项目包括一个图像控件和一些其他控件,然后使用它绑定一些数据。由于这个列表框需要包含2000多个项目,这意味着我必须对它进行一些优化

首先,我注意到大多数图像控件都有一张相同的图片(默认的化身),所以我为数据创建了一个单一的ImageSource对象。但是,尽管图像控件的源是同一个对象,但您知道我还需要使用下面的DataTemplate在列表框中创建2000图像控件:

            <ListBox ItemsSource="{Binding Items}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <Image Source="{Binding Avatar}" />
                            <TextBlock Text="{Binding Name}" />
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>


在我的程序中是否有减少图像控制对象数量的方法?谢谢大家!

如果ListBox是虚拟的(默认情况下是虚拟的),那么只会创建可见的图像。2000可能没有你想象的那么大。您是否有任何评测结果,或者至少抱怨程序在支持您的优化需求方面速度缓慢?