我有一个列表框,我正在尝试选择一个项目来显示标签。我的代码如下:
private void listBox2_MouseDown(object sender, MouseButtonEventArgs e)
{
ListBox lb = (ListBox)sender;
var selected = lb.SelectedValue.ToString();
//string selected = listBox2.SelectedItem.ToString();
label5.Visibility = Visibility.Visible;
if (selected.ToString() == "Study Date")
{
label5.Content = "Format:YYYYMMDD";
}
if (selected.ToString() == "Patient's Name") label5.Content = "Enter name in string format.";
}
但是当我点击某个项目时,我收到的错误为:Object reference not set to instance of an object
。我无法在Selection change事件中输入代码,所以请告诉我如何才能解决这个问题。谢谢!
答案 0 :(得分:1)
这里有一个潜在的问题:
var selected = lb.SelectedValue.ToString();
即使SelectedValue可以是ToString()
null
在致电ToString()
之前,请确保SelectedValue
不是null
答案 1 :(得分:1)
IIRC MouseDown()
事件在注册选择之前触发。你最好不要使用SelectionChanged()
活动吗?