我需要能够减少列表框

时间:2012-07-09 18:02:00

标签: c# silverlight nullreferenceexception

我知道什么是错的,我不知道如何解决它。

我得到了

  

NullReferenceException:对象引用未设置为对象的实例。

我收到此错误,因为我有一个填充的ListBox,当您在ListBox中选择文件名时,该文件的内容随后会显示在文本框中。

现在,我有一个depopulate按钮,清除ListBox中的所有文件,如果选择了一个文件,那么我就会收到错误。

我希望能够点击depopulate按钮并清除这两个框。

代码:

private void DE_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
    myScaleTransform2.ScaleX = myScaleTransform2.ScaleX * .9833333333333333333333333333333333333333333333333333333333;
    myScaleTransform2.ScaleY = myScaleTransform2.ScaleY * .9833333333333333333333333333333333333333333333333333333333;
    lbz.Items.Clear();
}

private void lbz_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    tb1.Text = File.ReadAllText(lbz.SelectedItem.ToString());
}

2 个答案:

答案 0 :(得分:1)

您必须检查SelectedItem是否实际设置:

private void lbz_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if( lbz.SelectedItem != null ){
        tb1.Text = File.ReadAllText(lbz.SelectedItem.ToString());
    } else {
        tb1.Text = "No File Selected";
    }
}

答案 1 :(得分:0)

private void lbz_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if( lbz.SelectedItem != null ){
        if(File.Exist(lbz.SelectedItem.ToString())){
            tb1.Text = File.ReadAllText(lbz.SelectedItem.ToString());
        }
        else
        {
            tb1.Text = "File is not exist in the selected Path";
        }
    } else {
        tb1.Text = "No File Selected";
    }
}

请检查列表项目是否包含文件路径?