2015-06-09 2 views
0

У меня есть кнопка, которую я хочу, чтобы они были скрыты при загрузке wpf. Я использую это:Кнопка Видимость в WPF при запуске

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

Но выше генерируется ошибка. Думаю, я написал их не в нужном месте. Могу ли я получить помощь, пожалуйста?

ответ

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

Проблема в том, что вы пытаетесь получить доступ к кнопке до ее инициализации. Это происходит в методе InitializeComponent(). Либо поставьте линии ниже этого метода:

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

или просто используйте соответствующее свойство в визуальном дизайнере.

Смежные вопросы