Как скрыть текстовые поля, метки и кнопки C # WPF - PullRequest
8 голосов
/ 27 ноября 2011

Я хотел бы скрыть несколько текстовых полей, метку и кнопку, как только нажата кнопка ... однако, по некоторым причинам, мой код, похоже, не вызывает этого эффекта.Ничего не происходит.Я использую WPF.

Вот мой код:

private void doSomething_Click(object sender, RoutedEventArgs e)
    {

        Name.Visibility = Visibility.Hidden; 

    }

Этот код, похоже, не работает .. какие-либо идеи?

Ответы [ 5 ]

11 голосов
/ 27 ноября 2011

Я считаю, Visibility.Collapsed это то, что вам нужно, а не Visibility.Hidden.

РЕДАКТИРОВАТЬ: Вы пытались дополнить этот код методом UpdateLayout() родительского элемента / компонента?

7 голосов
/ 27 ноября 2011

Ваш код работает нормально, после того, как все остальное исчезнет, ​​появится надпись «Вход в систему ...».Я предлагаю вам просто скопировать весь ваш код из файла .xaml.cs и файла .xaml в новый проект, но убедитесь, что вы не скопировали первую строку "<Window x:Class="...", потому что это может вызвать ошибку, если имя классане то же самое в новом проекте.

Для кода xaml я предлагаю вам не думать так же, как при разработке приложений для форм Windows.В WPF есть система макетов, которая переориентирует или изменяет размеры своих элементов при изменении размера окна.Таким образом, вы не должны указывать точные числа в свойстве поля, как если бы они были координатами.Создайте сетку, создайте строки или столбцы для каждого элемента, а затем просто установите горизонтальное или вертикальное выравнивание или поля.Думай иначе, чем старые формы окон.

4 голосов
/ 27 ноября 2011

Я запустил твой код ... и он отлично работает для меня.Я ничего не изменил (кроме имен переменных), поэтому я думаю, что это ошибка из VS.

Как сказано nikolamm94 попробуйте добавить this.UpdateLayout(); в конце connect_Click этоможет помочь.Я пытался, и он все еще работает нормально.Или, может быть, создать новый проект VS, он уже работал несколько раз.

Извините, мой ответ не самый полезный, я хотел бы оставить комментарий, но у меня недостаточно репутации: /

0 голосов
/ 09 декабря 2016

Пожалуйста, обратитесь: https://msdn.microsoft.com/en-us/library/ms748821(v=vs.85).aspx

Установить на Видимый: tb1.Visibility = System.Windows.Visibility.Visible;

Установить для скрытия: tb1.Visibility = System.Windows.Visibility.Hidden;

0 голосов
/ 09 августа 2015

Вы можете скрыть текстовое поле, перейдя в свойства-> внешний вид-> видимость, а затем установив его в «скрытый»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...