Silverlight 4.0 使用Dispatcher.BeginInvoke()将列表项添加到组合框

Silverlight 4.0 使用Dispatcher.BeginInvoke()将列表项添加到组合框,silverlight-4.0,Silverlight 4.0,我想通过Dispatcher.BeginInvoke向ComboBox添加列表。但当我尝试将其放入循环时,只有最后一个值是加载 private void LoadToComboBox(List<string> msg) { for (int i = 0; i < msg.Count; i++) { this.Dispatcher.BeginInvoke(() => cmbListItems.Items.

我想通过Dispatcher.BeginInvoke向ComboBox添加列表。但当我尝试将其放入循环时,只有最后一个值是加载

    private void LoadToComboBox(List<string> msg)
    {
        for (int i = 0; i < msg.Count; i++)
        {
           this.Dispatcher.BeginInvoke(() => cmbListItems.Items.Add(msg[i]));
        }
    }
private void LoadToComboBox(列表消息)
{
for(int i=0;icmbListItems.Items.Add(msg[i]);
}
}
Dispatcher.BeginInvoke()是一个异步调用。发生的情况是,在调用
cmbListItems.Items.Add()
函数时,它已经设置为
msg.Count

试着这样做:

private void LoadToComboBox(List<string> msg)
        {

            this.Dispatcher.BeginInvoke(() => 
            {
                for (int i = 0; i < msg.Count; i++) {
                    cmbListItems.Items.Add(msg[i]);
                }
            });

        } 
private void LoadToComboBox(列表消息)
{
this.Dispatcher.BeginInvoke(()=>
{
for(int i=0;i