Я хочу перейти на другую страницу в своем приложении Windows Phone 8.1. Я могу легко сделать это, если есть кнопка, щелкнув по ней и используя Frame.Navigate(typeof(MainPage));
в event handler
. Но в моем случае я хочу перейдите на вторую страницу автоматически в зависимости от целочисленного значения. Если оно становится равным нулю, страница автоматически переходит на вторую страницу. В моем случае у меня нет button
и поэтому event handler
, поэтому для этого. Как я могу это сделать?Навигация в C# и XAML
1
A
ответ
2
Внесите интерфейс INotifyPropertyChanged для вашей модели просмотра. Вот грубая реализация, в идеале вы бы использовали структуру mvvm и отправляли сообщения по своим представлениям по мере необходимости.
вид Модель
public class GameStateViewModel : INotifyPropertyChanged
{
private int currentScore = 10;
/// <summary>
/// The timer here added to simulate whatever is supposed to be changing your value.
/// </summary>
public GameStateViewModel()
{
var timer = new DispatcherTimer
{
Interval = TimeSpan.FromSeconds(2)
};
timer.Tick += (sender, args) =>
{
if (this.CurrentScore > 0)
{
this.CurrentScore--;
}
else
{
timer.Stop();
}
};
timer.Start();
}
public event PropertyChangedEventHandler PropertyChanged;
public int CurrentScore
{
get { return currentScore; }
set
{
currentScore = value;
NotifyPropertyChanged("CurrentScore");
}
}
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
код за
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
var viewModel = new GameStateViewModel();
viewModel.PropertyChanged += (sender, args) =>
{
if (viewModel.CurrentScore <= 0)
{
this.NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
}
};
this.DataContext = viewModel;
}
}
Xaml
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock Text="{Binding CurrentScore}" FontSize="{StaticResource PhoneFontSizeExtraLarge}" />
</Grid>
Смежные вопросы
- 1. Навигация в C# XAML не работает
- 2. Простая навигация по XAML на XAML
- 3. W 8.1 async метод и навигация C# xaml
- 4. Xamarin.Forms xaml views, навигация и привязка
- 5. Навигация XAML в Windows Store Grid App
- 6. WinRT Навигация по меню XAML MVVM
- 7. Навигация в объективе-c
- 8. WPF навигация по страницам в C#
- 9. Системные ограничения «XAML» и «C#»
- 10. C# Windows Forms и XAML
- 11. C# И серия XAML Line
- 12. C# XAML и Code isses
- 13. В iOS, Навигация навигация Навигация
- 14. Конвертер XAML в C#
- 15. XAML-код в C#
- 16. Связывание в C# и XAML ошибке
- 17. TextBlock/Textbox в XAML и C#
- 18. asynchronous Data Binding в XAML и C#
- 19. Сделать кнопку «общедоступной» в xaml и C#
- 20. Перемещение между страницами в XAML и C#
- 21. Преобразование XAML в C#
- 22. Каковы преимущества и недостатки написания приложений C#/XAML и C++/XAML WinRT в Windows8?
- 23. Графическая навигация с C#
- 24. Навигация навигация в android
- 25. Навигация с page1.xaml на страницу2.xaml в windows phone 8
- 26. WPF Навигация по страницам C# Не работает
- 27. Windows phone 8 и phonegap 2.7.0, Навигация между страницами HTML и Xaml и обратно
- 28. wpf xaml Навигация по страницам без кода позади
- 29. Выход из системы XAML (навигация по силовой странице)
- 30. Приложение Wpf (не браузер) и навигация