Silverlight ComboBox "SelectionChanged" Event

Once again, I am new to Silverlight and trying my best to learn it quickly.  I have a basic form that has a comboBox (comboBox1 in the example).  This comboBox has items that are populated by a webservice, and that is working great.  I am used to ASPX pages where I can use the "SelectionChanged" event and it actually fires when the selection changes.  With Silverlight, the "SelectionChanged" event seems to fire on the inital load on the applicaiton as well.

Anyway, on the code behind example below, I am getting a null reference exception on line 4.  The compiler doesn't seem to know anything about the combobox.  How do I access the "SelectedIndex" property of the XAML ComboBox from the codebehind page?
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            
            if (this.comboBox1.SelectedIndex != 0)
            {
                Service1SoapClient wRef = new Service1SoapClient();
                wRef.GetSiteDetailsCompleted += new EventHandler<GetSiteDetailsCompletedEventArgs>(wRef_GetSiteDetailsCompleted);
                string site = "MySite";
                //wRef.GetSiteDetailsAsync(comboBox1.SelectedValue.ToString());
                wRef.GetSiteDetailsAsync(site);
            }

        }

Open in new window

LVL 6
ged125Asked:
Who is Participating?
 
Anil GolamariConnect With a Mentor Commented:
That error may occur because of two reasons
1) combo box is not instantiated
2) If you have issue with data binding to the combo box.

So take a look at the link below and see whether it fixed your issue.

http://forums.silverlight.net/forums/p/135593/303116.aspx 
0
 
Anil GolamariCommented:
try

combobox1.selectedIndex !=0 and are you using MVVM pattern?
0
 
ged125Author Commented:
you mean remove the "this" from line 4?  Yes I did try that.   And I don't know what MVVM is. :)
0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

 
Anil GolamariCommented:
what kind of pattern are you using is it

MVC, MVVM or MVP
0
 
ged125Author Commented:
I am going to sound completey stupid here.  But how do I tell?  :)  I am using VS 2010, I did a Silverlight 4.0 Application, a Asp.net 3.5 web service middle tier, and asp.net 4.0 website.

As I said, I am new to Silverlight, but I have written ASPX before.
0
 
ged125Author Commented:
Lucky85,  it appears you were correct about the combo Box not being instantiated.  Before I award the points, I just have a quick question.   When writing code behind an ASPX, just the simple fact that you have a drop down list on the ASPX page is enough to instantiate the object.  What's the difference in XAML code behind?
0
 
Anil GolamariCommented:
http://forums.silverlight.net/forums/p/160806/361082.aspx

Take a look at the above link which will help you understand the page life cycle of silverlight.
0
 
ged125Author Commented:
ComboBox was not instantiated.  Added the following

ComboBox cb  = sender as ComboBox;
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.