2012-11-08 60 views
0

我試圖爲我的應用程序創建一個登錄頁面,類似於windows登錄帳戶。但這不是一個帳號登錄。一旦用戶設置了密碼,每次用戶重新打開該應用程序,它都會要求輸入密碼。爲Win 8應用程序創建登錄頁面

從這個site,我得到了如何創建登錄頁面。但我面臨的問題是,一旦我把網格放在ContentControl裏面,它就不會擴展。我不得不指定名爲mainbackground的網格的高度和寬度。我不想硬編碼值,因爲隨着分辨率的變化,高度和寬度可能會有所不同。

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush }">   
    <Grid.RowDefinitions>   
     <RowDefinition/>   
    </Grid.RowDefinitions> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 

    <ContentControl x:Name="parent" Grid.Row="0" Grid.RowSpan="1"> 
      <Grid x:Name="MainBackground" Height="768" Width="1366"> 
       <!-- rest of the xaml declaration--> 
      </Grid> 
    </ContentControl> 

    <ContentControl x:Name="container" Height="450" Margin="0,194,0,124"> 
      <Popup x:Name="logincontrol1" IsOpen="False" > 
    </ContentControl> 
</Grid> 

幾個問題, 這是正確的方法來創建登錄頁面?

爲什麼網格沒有擴展到誰不需要指定高度和寬度?

什麼是內容控制的實際使用?沒有在網上找到詳細的解釋。

謝謝

回答

3

的建議是不要寫自己的登錄頁面,而是利用CredentialPicker控制。

就你而言,你並沒有將選取器掛在任何東西上,這是一個有效的場景。設置選擇器選擇了這樣的...

CredentialPickerOptions opts = new CredentialPickerOptions { 
    AuthenticationProtocol = AuthenticationProtocol.Basic, 
    Caption = "My App Login", 
    Message = "Log in here", 
    TargetName = "MyApp" 
    }; 
var res = await CredentialPicker.PickAsync(opts); 

,然後你可以爲你自己的邏輯訪問CredentialUserNameCredentialPassword值。