Xamarin Forms Portable Windows 应用程序无法导航
Xamarin Forms Portable Windows Apps not navigating
我正在开发 Xamarin Forms Portable 项目,其中有启动画面、登录页面和仪表板。
如果我正确登录应用程序,我会将用户存储在 Sqlite 数据库中。
当我尝试登录并且用户已保存在数据库中时,我应该直接转到仪表板(主从页面)。
在 Android 中可以正常工作,但在 Windows 中不起作用。这是我的启动画面的代码:
public class SplashScreen : ContentPage
{
public SplashScreen()
{
this.Padding = new Thickness(20, Device.OnPlatform<double>(40, 20, 20), 20, 20);
StackLayout panel = new StackLayout
{
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalOptions = LayoutOptions.FillAndExpand,
Orientation = StackOrientation.Vertical,
Spacing = 15,
};
panel.Children.Add(new Image
{
Aspect = Aspect.AspectFit,
Source = Device.OnPlatform(
iOS: ImageSource.FromFile("Resources/login.png"),
Android: ImageSource.FromFile("login.png"),
WinPhone: ImageSource.FromFile("Assets/login.png"))
}
);
panel.Children.Add(new Label
{
Text = "Splash",
});
this.Content = panel;
loguearseSiSePuede();
}
private async void loguearseSiSePuede()
{
UserLoginDB userDB = new UserLoginDB();
IEnumerable<UserLogin> users = userDB.getUsers();
var items = users.ToList();
Debug.WriteLine("usuario: " + items.Count());
if (items.Count() > 0)
{
var secondpage = new MasterDetail();
await Navigation.PushAsync(secondpage);
}
else
{
var secondpage = new Login();
await Navigation.PushAsync(secondpage);
}
}
}
日志Debug.WriteLine("usuario: " + items.Count());正在打印 1,因此用户已正确存储在数据库中,但是 Windows 应用程序加载启动画面并且不会导航到任何屏幕。
有谁知道为什么这在 Windows 上不起作用?
提前致谢
感谢亚历山德罗,这个问题得到了解答。我已将控件移至 App.cs,应用程序运行正常
我正在开发 Xamarin Forms Portable 项目,其中有启动画面、登录页面和仪表板。
如果我正确登录应用程序,我会将用户存储在 Sqlite 数据库中。
当我尝试登录并且用户已保存在数据库中时,我应该直接转到仪表板(主从页面)。
在 Android 中可以正常工作,但在 Windows 中不起作用。这是我的启动画面的代码:
public class SplashScreen : ContentPage
{
public SplashScreen()
{
this.Padding = new Thickness(20, Device.OnPlatform<double>(40, 20, 20), 20, 20);
StackLayout panel = new StackLayout
{
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalOptions = LayoutOptions.FillAndExpand,
Orientation = StackOrientation.Vertical,
Spacing = 15,
};
panel.Children.Add(new Image
{
Aspect = Aspect.AspectFit,
Source = Device.OnPlatform(
iOS: ImageSource.FromFile("Resources/login.png"),
Android: ImageSource.FromFile("login.png"),
WinPhone: ImageSource.FromFile("Assets/login.png"))
}
);
panel.Children.Add(new Label
{
Text = "Splash",
});
this.Content = panel;
loguearseSiSePuede();
}
private async void loguearseSiSePuede()
{
UserLoginDB userDB = new UserLoginDB();
IEnumerable<UserLogin> users = userDB.getUsers();
var items = users.ToList();
Debug.WriteLine("usuario: " + items.Count());
if (items.Count() > 0)
{
var secondpage = new MasterDetail();
await Navigation.PushAsync(secondpage);
}
else
{
var secondpage = new Login();
await Navigation.PushAsync(secondpage);
}
}
}
日志Debug.WriteLine("usuario: " + items.Count());正在打印 1,因此用户已正确存储在数据库中,但是 Windows 应用程序加载启动画面并且不会导航到任何屏幕。
有谁知道为什么这在 Windows 上不起作用?
提前致谢
感谢亚历山德罗,这个问题得到了解答。我已将控件移至 App.cs,应用程序运行正常