#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