• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2187
  • Last Modified:

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

0
ged125
Asked:
ged125
  • 4
  • 4
1 Solution
 
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
 
Anil GolamariCommented:
what kind of pattern are you using is it

MVC, MVVM or MVP
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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
 
Anil GolamariCommented:
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
 
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

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now