I am trying to implement a passwordbox within a pivotitem with content dialog. I want to find out if upon clicking on the pivotitem using pointerpressed is suitable to trigger the dialog for password? Also how do handle the event once the pivotitem is clicked. Thanks.
XAML;
Title="Login"
PrimaryButtonText="OK"
SecondaryButtonText="Cancel"
PrimaryButtonClick="ContentDialog_PrimaryButtonClick"
SecondaryButtonClick="ContentDialog_SecondaryButtonClick">
<Grid>
<StackPanel>
<PasswordBox x:Name="passwordBox" Width="300" Height="30" PlaceholderText="Enter password" PasswordChar="*"
PasswordChanged="PasswordBox_PasswordChanged"/>
<TextBlock x:Name="statusText" Margin="3,10,2,10" Height="22"/>
</StackPanel>
</Grid>
Update - 24-11-2017
I am not sure if this is the best was to verify my password. I also wanna find out after the content dialog
closes, where do i further expand the XAML code?
Hope I am expressing my scenario clearly here. Thanks.
<PivotItem Header="Settings" x:Name="settings" PointerPressed="settings_PointerPressed" >
<ContentDialog Title="Login" x:Name="loginDialog"
PrimaryButtonText="OK"
SecondaryButtonText="Cancel"
PrimaryButtonClick="OK_PrimaryButtonClick"
SecondaryButtonClick="Cancel_SecondaryButtonClick">
<Grid>
<StackPanel>
<PasswordBox x:Name="passwordBox" Width="300" Height="40" PlaceholderText="Enter PIN" PasswordChar="*"
PasswordChanged="passwordBox_PasswordChanged" IsPasswordRevealButtonEnabled="False">
<PasswordBox.InputScope>
<InputScope>
<InputScope.Names>
<InputScopeName NameValue="NumericPin"/>
</InputScope.Names>
</InputScope>
</PasswordBox.InputScope>
</PasswordBox>
<TextBlock x:Name="passwordStatus" Margin="3,10,2,10" Height="22"/>
</StackPanel>
</Grid>
</ContentDialog>
</PivotItem>
private async void settings_PointerPressed(object sender, PointerRoutedEventArgs e)
{
if(isPasswordGranted==false)
{
await loginDialog.ShowAsync();
//PasswordBox passwordBox = new PasswordBox();
//passwordBox.Header = "Enter password";
InputScope scope = new InputScope();
InputScopeName scopeName = new InputScopeName();
scopeName.NameValue = InputScopeNameValue.NumericPin; //default = Password
scope.Names.Add(scopeName);
passwordBox.InputScope = scope;
}
}
private void OK_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
if (passwordBox.Password == pinNumber)
{
passwordStatus.Text = "Password Granted!";
isPasswordGranted = true;
}
else pivot.SelectedItem = home;
}
private void Cancel_SecondaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
pivot.SelectedItem = home;
}