Windows phone 7 windows phone列表框

Windows phone 7 windows phone列表框,windows-phone-7,listbox,Windows Phone 7,Listbox,1) 这是我的listbox2 selectionchanged代码 void PrintText2(object sender, SelectionChangedEventArgs args) { if (null != listBox2.SelectedItem) { ListBoxItem lbi = ((sender as ListBox).SelectedItem as ListBoxItem); textBlock4.Text = lbi.Cont

1) 这是我的listbox2 selectionchanged代码

void PrintText2(object sender, SelectionChangedEventArgs args)
{
   if (null != listBox2.SelectedItem)
   {
      ListBoxItem lbi = ((sender as ListBox).SelectedItem as ListBoxItem);
      textBlock4.Text = lbi.Content.ToString();
   }
}
2) 这是listbox1 selecionchanged的我的代码

void PrintText1(object sender, SelectionChangedEventArgs args)
{  
   if (null != listBox1.SelectedItem)
   {
      ListBoxItem l = ((sender as ListBox).SelectedItem as ListBoxItem);
      textBlock6.Text = l.Content.ToString();
      if (textBlock6.Text == "Angle")
      { 
         loadlistAngle(); 
      }
   }
}
(三)

4) listbox1包含静态项“Angle”,在运行时选择“Angle”时,Angle将加载到textBolck6中,然后将新项“radian”和“degree”添加到listbox2中

5) 之后,当我单击listbox2的“弧度”时,“弧度值没有加载到textblock4中,它在“lbi.Content.ToString()中给出了“NullReferenceException”


6) 如何修改代码,以便在运行时将“弧度”值加载到textblock4中,并在listbox2中选择生成的新项目,然后在调试程序中以以下方式调整代码:

其中有
textBlock4.Text=lbi.Content.ToString();
将其替换为:

object lbiContent  = lbi.Content;

if(lbiContent != null) textBlock4.Text = lbiContent.ToString();
在对象行上放一个断点,这样你就能知道listboxitem的内容到底是什么,以及它是否为空

很可能你只是把一些错误的东西放在

listBox2.Items.Clear(); 
listBox2.Items.Add("Radian");
listBox2.Items.Add("Degree");
除此之外,您提供的代码中的所有内容都是正确的

更新:

另外,尝试替换

ListBoxItem lbi = ((sender as ListBox).SelectedItem as ListBoxItem);

你不需要做双重演员

并且列表框的选定项可能仍然为空

更新2:

这很可能是您检索所选项目的方式:


ListBoxItem lbi=(args.AddedItems[0]作为ListBoxItem);

在调试程序中以以下方式调整代码后,在调试程序中运行代码:

其中有
textBlock4.Text=lbi.Content.ToString();
将其替换为:

object lbiContent  = lbi.Content;

if(lbiContent != null) textBlock4.Text = lbiContent.ToString();
在对象行上放一个断点,这样你就能知道listboxitem的内容到底是什么,以及它是否为空

很可能你只是把一些错误的东西放在

listBox2.Items.Clear(); 
listBox2.Items.Add("Radian");
listBox2.Items.Add("Degree");
除此之外,您提供的代码中的所有内容都是正确的

更新:

另外,尝试替换

ListBoxItem lbi = ((sender as ListBox).SelectedItem as ListBoxItem);

你不需要做双重演员

并且列表框的选定项可能仍然为空

更新2:

这很可能是您检索所选项目的方式:


ListBoxItem lbi=(args.AddedItems[0]作为ListBoxItem)

您已经为工作的部件提供了代码,完全泄露了有问题部件的代码。您应该做的是包含与textblock4相关的代码。请这样做,您很可能会得到更多帮助。我已经提供了必要的代码,并且由于listbox2是完全为空,需要在运行时填充如何在选择“弧度”时将运行时值“弧度”动态加载到textblock4中“从listbox2?您提供了工作部件的代码,完全泄露了有问题部件的代码。您应该做的是包含textblock4相关代码。请这样做,您很可能会得到更多的帮助。我已经提供了必要的代码,它会给出运行时异常,因为listbox2完全为空,需要在运行时填充。如何在选择“radian”时将运行时值“radian”动态加载到textblock4中从listbox2?仍在runtimelistBox2.Items.Clear()处提供NullReferenceException;列表框2.项目。添加(“弧度”);列表框2.项目。添加(“学位”);这些是我想在运行时添加到listbox2 n中的项目,然后单击“弧度”,在TextBlock4中输入“弧度”否我在运行时在“lbiContent.ToString()”中设置NullReferenceException;不抱歉,我在运行时在对象lbiContent=“lbi.Content”中设置NullReferenceException"; 现在由@Maximgetting exception在“ibi.Content”发布答案;仍然在runtimelistBox2.Items.Clear()处提供NullReferenceException;列表框2.项目。添加(“弧度”);列表框2.项目。添加(“学位”);这些是我想在运行时添加到listbox2 n中的项目,然后单击“弧度”,在TextBlock4中输入“弧度”否我在运行时在“lbiContent.ToString()”中设置NullReferenceException;不抱歉,我在运行时在对象lbiContent=“lbi.Content”中设置NullReferenceException"; 现在由@Maximgetting exception在“ibi.Content”发布答案;