У меня есть поле со списком, которое я заполняю из веб-службы:
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