WPF控制可见性
本文关键字:可见性 控制 WPF | 更新日期: 2023-09-27 18:25:16
我是WPF的新手,我想根据组合框值从代码后面隐藏/显示一些控件,如TextBlock、ComboBox等。我一直在寻找一些没有运气的解决方案。我经常回答以下问题。
textbox1.Visibility=可见性。隐藏;
所以,我试了这个。
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;
}
}
它简单地不起作用。尝试获取此错误{"对象引用未设置为对象实例。"}
做我正在努力的事一定不难,实际上一定很容易。那么,有人能说出我做错了什么吗?
尝试在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;
}
}