0

我正在尝试为我的应用程序创建一个登录页面,就像 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 屏幕?

内容控制的实际用途是什么?网上没有找到详细的解释。

谢谢

4

1 回答 1

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值。

于 2012-11-08T14:50:00.153 回答