Как сделать так, чтобы мой ListBox не вызывал SelectionChanged событие, когда я назначаю ItemSource своего списка

У меня есть поле со списком, которое я заполняю из веб-службы:

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

1
задан Masha 9 September 2010 в 14:59
поделиться