启动时WPF中的按钮可见性

时间:2015-06-09 11:00:33

标签: c# button wpf-controls visibility

我有一些按钮,我希望在wpf加载时隐藏它们。 我用这个:

public MainWindow()
    {
        mySendButton.Visibility = Visibility.Hidden;
        myReceiveButton.Visibility = Visibility.Hidden;                                                
        InitializeComponent();
    }

但上面生成错误。我想我不是在正确的地方写的。 我可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

InitializeComponent方法在您的案例按钮中初始化组件。 InitializeComponent调用之前的按钮为null,因为它们未初始化并且设置其可见性会引发异常。

这就是为什么在某些语言中写的

//Add any code after the InitializeComponent() call.

你需要做

public MainWindow()
{
    InitializeComponent();
    mySendButton.Visibility = Visibility.Hidden;
    myReceiveButton.Visibility = Visibility.Hidden;                        
}

顺便说一句,您可以像这样在XAML中设置可见性。

<Button name="mySendButton" Content"Send" Visibiity="Collapsed" />

答案 1 :(得分:1)

问题是,您在初始化之前尝试访问该按钮。这种情况发生在InitializeComponent()方法中。将这些行放在该方法下面:

public MainWindow()
{                                                
    InitializeComponent();
    mySendButton.Visibility = Visibility.Hidden;
    myReceiveButton.Visibility = Visibility.Hidden;
}

或者只是在可视化设计器中使用适当的属性。