我需要根据组合框中选择的项目填充文本框。我填写组合异步,在完成事件中我有以下代码
combo.ItemsSource = e.Result;
combo.DisplayMemberPath = "Name";
combo.SelectedIndex = -1;
然后在组合的SelectionChanged事件中,我捕获所选对象
MyClass mc= ((ComboBox)sender).SelectedItem as MyClass;
tbxName.Text = mc.Name;
...
但是,当我第一次加载项目并选择任何事件时,就会发生任何事情。每隔一次(第2次,第3次,第n次),数据被正确捕获并显示。
所以我需要知道为什么组合没有赶上第一个选择?这就是我有代码 combo.SelectedIndex = -1 的原因(当应用程序加载时,组合为空 - 选择-1有效)。
答案 0 :(得分:0)
通过将代码放在Completed事件中解决。现在我延迟执行一切,但它确实有效。