我是WPF的新手,我希望根据ComboBox值隐藏/显示一些控件,如TextBlock,ComboBox等。我没有运气就搜索了一些解决方案。我经常回答。
textbox1.Visibility = Visibility.Hidden;
所以,我试过这个。
private void cbBuscar_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show(cbBuscar.SelectedIndex.ToString());
if (cbBuscar.SelectedIndex == 0)
{
cbProduto.Visibility = Visibility.Hidden;
}
else if (cbBuscar.SelectedIndex == 1)
{
cbProduto.Visibility = Visibility.Visible;
}
else if (cbBuscar.SelectedIndex == 2)
{
cbProduto.Visibility = Visibility.Collapsed;
}
}
这很简单不起作用。尝试我得到此错误{“对象引用未设置为对象的实例。”}
我正在努力的事情一定不会很难,实际上它一定很容易。那么,谁能说出我做错了什么?
答案 0 :(得分:1)
尝试将以下代码放入cbBuscar_SelectionChanged
函数中:
if (!IsLoaded)
return;
如果在窗口初始化之前选择正在改变,这可能会解决问题。
所以你的功能看起来像这样:
private void cbBuscar_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (!IsLoaded)
return;
MessageBox.Show(cbBuscar.SelectedIndex.ToString());
if (cbBuscar.SelectedIndex == 0)
{
cbProduto.Visibility = Visibility.Hidden;
}
else if (cbBuscar.SelectedIndex == 1)
{
cbProduto.Visibility = Visibility.Visible;
}
else if (cbBuscar.SelectedIndex == 2)
{
cbProduto.Visibility = Visibility.Collapsed;
}
}