Создание страницы входа для приложений Win 8

Я пытаюсь создать страницу входа для своего приложения, как и учетную запись входа в Windows. Но это не вход в учетную запись. Как только пользователь устанавливает пароль, каждый раз, когда пользователь открывает приложение заново, он запрашивает пароль.

С этого сайта, Я понял, как создать страницу входа. Но проблема, с которой я столкнулся, заключается в том, что как только я помещаю сетку внутрь 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>

Несколько вопросов. Это правильный способ создания страницы входа?

Почему сетка не расширяется до экрана who без указания высоты и ширины?

Каково фактическое использование управления контентом? Подробных объяснений в сети не нашел.

Спасибо


person alfah    schedule 08.11.2012    source источник


Ответы (1)


Совет заключается не в написании собственной страницы входа, а в использовании элемента управления CredentialPicker.

В вашем случае вы ни к чему не подключаете сборщик, и это допустимый сценарий. Настройте параметры выбора следующим образом...

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

а затем вы можете получить доступ к значениям CredentialUserName и CredentialPassword для своей собственной логики.

person ZombieSheep    schedule 08.11.2012