它在OnNavigatedTo中不起作用,但是在OnNavigatedTo完成后才起作用。

protected override void OnNavigatedTo(Windows.UI.Xaml.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    //Here result is false
    bool result = VisualStateManager.GoToState(btn_reset, "Normal", false);
}


private void Button_Click(object sender, RoutedEventArgs e)
{
   //Here result is true
  bool result = VisualStateManager.GoToState(btn_reset, "Normal", false);
}


知道在OnNavigatedTo中有什么问题我试图设置不同的状态,但是它们都给我相同的结果。

我想在OnNavigatedTo方法中或在显示视图之前设置初始状态

最佳答案

我已经在Loaded事件中编写了此代码,并且可以正常工作。

protected override void OnNavigatedTo(Windows.UI.Xaml.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    Loaded += ScreenLoaded;
}

private void ScreenLoaded(object sender, RoutedEventArgs e)
{
    btn_reset.IsEnabled = false;
    bool result = VisualStateManager.GoToState(btn_reset, "Normal", false);
}

08-25 23:47