在我们的WPF应用中,我们有一个 PasswordBox ,默认情况下会显示其中输入的字符的项目符号。对于特定用户(XP SP3),这个工作正常,直到一个月后他无法在密码框中输入任何内容。为了找出我们最近对产品所做的任何更改是否导致了它或者它是完全不同的,我创建了一个只有一个文本框和密码框和一个按钮的小应用程序。单击该按钮,文本框和密码框的内容将显示在消息框中。
XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center">User Name:</TextBlock>
<TextBox x:Name="usr" Width="120" Height="30" Grid.Row="0"
Grid.Column="1"></TextBox>
<TextBlock Grid.Row="1" Grid.Column="0" HorizontalAlignment="Right"
VerticalAlignment="Center">Password:</TextBlock>
<PasswordBox x:Name="pass" Width="120" Height="30"
Grid.Row="1" Grid.Column="1"></PasswordBox>
<Button Height="30" Width="60" Grid.Row="2" Grid.ColumnSpan="2"
Click="Button_Click">Ok</Button>
</Grid>
代码背后:
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Username: " + usr.Text + ", Password: " + pass.Password);
}
在运行应用程序时,我们发现用户实际上能够输入密码,并且在单击“确定”时正确显示。他根本没有看到子弹。我尝试改变字体大小和前景,但没有效果。我在我的机器上有相同的配置,它对我来说很好。 最后我将密码char更改为'*',并且在用户的计算机上显示正常。有关为什么子弹没有显示的任何帮助?