我正在为windows 8应用程序创建一个使用visual studio 2012的登录页面。我添加了一个用户名和密码框,如预期的那样,但不是把文本放在框旁边来显示每个框的用途,我想把它写在框内,如下图所示:http://www.windows8designhandbook.com/img/gallery/nasdaq/nasdaq_splash_login.png
如何在那里获得默认文本?我用一个文本框作为userID,用一个密码框作为密码。
OP在他的问题的更新中包括以下内容:
我想我已经找到了答案:http://julmar.com/blog/mark/?p=300
链接文章的开头段落包含以下摘要:
在上一篇文章中,我写了一个混合行为为Windows商店应用程序添加水印到文本框。我得到的下一个问题是"那么,密码盒怎么样?"PasswordBox有点狡猾,因为它不允许文本以透明的方式显示——所以我们改变text属性的小技巧在这里不起作用。所以,相反,让我们变得更hack(或者更聪明,我想这取决于你怎么看)。我们可以使用相同的事件系列(GotFocus/LostFocus/Loaded),但不是改变文本,让我们添加一个新的TextBlock到PasswordBox的可视化树中,以显示我们的水印文本。
Article:在Windows Store应用程序中为密码框添加水印
博客:漫游荒野:探索。net 4.0、iOS、WPF、MVVM等酷炫技术的世界
一个类似的问题,在纯XAML中创建WPF水印,包含一个代码项目文章的链接,在3行XAML中的WatermarkTextBox,它提出了一个解决方案,应该同样适用于普通文本框或密码文本框:
<Grid Background="{StaticResource brushWatermarkBackground}"> <TextBlock Margin="5,2" Text="Prompt..." Foreground="{StaticResource brushForeground}" Visibility="{Binding ElementName=txtUserEntry, Path=Text.IsEmpty, Converter={StaticResource BooleanToVisibilityConverter}}" /> <TextBox Name="txtUserEntry" Background="Transparent" BorderBrush="{StaticResource brushBorder}" /> </Grid>