2012-03-12 5 views

Trả lời

14

Bạn có thể điều hướng đến trang bắt đầu của ứng dụng Windows Phone từ mã.

Tháo "DefaultTask" nhập từ WMAppManifest

Remove thuộc tính NavigationPage từ "DefaultTask" trong WMAppManifest, và trong trường hợp phát động Chiến dịch ứng dụng của bạn sử dụng một cái gì đó giống như ví dụ dưới đây để điều hướng đến trang của sự lựa chọn khi khởi động.

private void Application_Launching(object sender, LaunchingEventArgs e) 
    { 
     if (registered) 
     { 
      ((App)Application.Current).RootFrame.Navigate(new Uri("/<your start page>.xaml", UriKind.Relative)); 
     } 
     else 
     { 
      ((App)Application.Current).RootFrame.Navigate(new Uri("/<your registration page>.xaml", UriKind.Relative)); 
     } 

    } 

Bạn chỉ cần quyết định cách bạn muốn xác định ai đó đã đăng ký.

+0

Bạn không thể xóa mục nhập DefaultTask. Tuy nhiên bạn có thể loại bỏ các NavigationPage atrribute từ nó. –

+0

À vâng, cảm ơn sự điều chỉnh. Tôi sẽ cập nhật mục nhập. –

+0

Phương pháp này hiệu quả với tôi. Cảm ơn! – Nico

1

Tôi đoán bạn chưa đặt nhiều suy nghĩ về điều này, quá trình thiết lập khá dễ dàng! Khi người dùng đăng ký, bạn có thể đặt biến trong cài đặt xác định rằng người dùng đã đăng ký. Khi ứng dụng bắt đầu, hãy đánh giá cài đặt này và nếu người dùng đã đăng ký bạn hiển thị trang đăng ký, nếu không thì trang đăng nhập. Ví dụ:

//After (succesful) registration 
Properties.Settings.Default.HasRegistered = true; 
Properties.Settings.Default.Save(); 

//Check the value 
var hasRegistered = Properties.Settings.Default.HasRegistered; 
if(hasRegistered) 
    //show Login 
else 
    //show Registration 

Bạn cũng có thể sử dụng IsolatedStorageSettings.ApplcationSettings để thực hiện việc này. Mã dưới đây chỉ là mã mẫu, bạn sẽ phải cung cấp xác thực nếu cài đặt đã tồn tại trên lần khởi động đầu tiên của ứng dụng và đặt giá trị mặc định là 'false' cho cài đặt nếu chưa có đăng ký nào xảy ra.

//After registration 
var settings = IsolatedStorageSettings.ApplicationSettings; 
if (settings.Contains("HasRegistered")) 
    settings["HasRegistered"] = true; 
settings.Save(); 

//Check value 
var settings = IsolatedStorageSettings.ApplicationSettings; 
if (settings.Contains("HasRegistered")) 
{ 
    var registered = bool.Parse(settings["HasRegistered"]); 
    if(registered) 
     //show login 
    else 
     //show registration 
} 

Hy vọng điều này sẽ hữu ích!

+1

Tôi đoán bạn đã không đặt rất nhiều suy nghĩ này, như câu trả lời ở trên là dễ dàng hơn nhiều. ;-) – MEMark