启动时 WPF 中的按钮可见性

Button Visibility in WPF at startup

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

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

但是上面生成了一个错误。我想我没有把它们写在正确的地方。 我能得到帮助吗?

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" />

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

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

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