我有一个组合框,我从 Web 服务填充:
public Configure()
{
InitializeComponent();
WebServiceSoapClient ws = new WebServiceSoapClient();
ws.GetTypesCompleted += new EventHandler<GetTypesCompletedEventArgs>(OnGetTypeCompleted);
ws.GetTypesAsync();
}
void OnGetTypeCompleted(object sender, GetTypesCompletedEventArgs e)
{
if (e.Result != null)
{
List<CodeTableItem> source = e.Result.ToList<CodeTableItem>();
lstType.ItemsSource = source;
lstType.SelectedIndex = -1;
}
}
因此,当我设置 ItemSource 属性时,SelectionChanged 事件会在 SelectedIndex = 0 时触发,但用户尚未进行此选择,我需要此列表没有选定值,所以我将 SelectedIndex 设置为 -1,你可以看。结果,SelectionChanged 被调用了两次。
我可以只在用户选择项目时调用它吗?谢谢!
我正在使用 Silverlight 3 和 VS 2008