Скрыть видимость переключателя при нажатии на него для всего проекта в C # для приложения Windows Phone 8

#c# #windows #windows-phone-8 #navigation #radio-button

#c# #Windows #windows-телефон-8 #навигация #переключатель

Вопрос:

У меня есть код как :

            if (rb1.IsChecked.Value)
            {
            NavigationService.Navigate(new Uri("/enterque.xaml?chkd="   rb1.IsChecked, 
            UriKind.Relative));
            this.rb1.Visibility = Visibility.Collapsed;               
            }
 

Когда rb1 флажок установлен, он сворачивает свою видимость при возвращении на эту страницу. Но когда я снова перехожу на ту же страницу через главную страницу, она снова становится видимой??

Имеет rb1.visibility ли он только локальную область видимости?

Ответ №1:

вы можете взять одну Visibility переменную в App.xaml.cs файле n, которая будет содержать состояние value for Visibility для В приложении.

Декларация:

 public static Visibility radVisibility = Visibility.Collapsed;
 

Используйте:

 rb1.Visibility = App.radVisibility;
 

Объявите его в App.xaml.cs

 public static Visibility radVisibility = Visibility.Visible;
 

MainPage.cs:

 if (rb1.IsChecked.Value)
{
    App.radVisibility = Visibility.Collapsed;               
    this.rb1.Visibility = App.radVisibility;
    NavigationService.Navigate(new Uri("/enterque.xaml?chkd="   rb1.IsChecked,UriKind.Relative));
}


protected override void OnNavigatedTo(NavigationEventArgs e)
{
    this.rb1.Visibility = App.radVisibility;
}
 

Комментарии:

1. он работает так же, как этот.rb1.Visibility = Видимость. Свернутый; Мне нужно, чтобы кнопка radiobutton была отключена после нажатия на нее в проекте. Проблема с rb1.visibility = app.radvisibility заключается в том, что как только я попадаю на ту же страницу, где радиокнопки размещаются с помощью кнопки «НАЗАД», она становится видимой.

2. вам также нужно будет установить значение radiobutton в OnNavigatedTo, поскольку оно является статическим, чтобы вы могли удерживать его во всем приложении

3. я не могу этого сделать, не могли бы вы помочь с кодом.

4. теперь возникла новая проблема … rb1 сворачивается при запуске приложения… #serious_trouble

5. Этого не должно быть. но вы можете установить radVisibility = Visibility.Visible; в конструкторе для объекта приложения, который является App(){radVisibility = Visibility.Visible;} , Попробуйте.

Ответ №2:

Вы должны использовать событие прослушивания, после нажатия переключателя вам нужно обработать событие нажатия, а затем скрыть переключатель.

Надеюсь, следующая ссылка может быть полезной.

https://groups.google.com/forum /#!тема/codenameone-обсуждения/WSRLD91PSA