我正在尝试在TexBox中显示水印,我使用Canvas标签完成了这项工作:
<Canvas Height="60" Width="500" VerticalAlignment="Top" HorizontalAlignment="Center" Margin="0,5">
<TextBox Width="500" Height="30" Canvas.Left="0" Canvas.Top="0" FontSize="18"></TextBox>
<TextBlock x:Name="whereAreyouWatermark" Canvas.Left="15" Canvas.Top="7" Height="30" FontSize="16"
Foreground="#777777" Width="500">
<Run x:Uid="text2"></Run> <Italic FontSize="13"><Run x:Uid="text3"></Run></Italic>
</TextBlock>
</Canvas>
但是,现在当光标越过文本块时,它不是“I”图标,只是普通指针。在CSS中,我会将光标更改为“指针:文本”。
如何在XAML中执行此操作?
此外,当按下我希望焦点转到背景文本框时,我认为最好的方法是截取文本块的gotfocus事件并将焦点内部代码传递给文本框。我认为在iOS中你可以使用一个简单地传递事件的层。
非常感谢 正如我们在伦敦一直所说的那样,我非常感兴趣; - )答案 0 :(得分:2)
答案 1 :(得分:0)
将默认文本设置为某个内容,一旦获得焦点事件,请使用用户类型清除文本。当它的LostFocus再次放置水印时。您的IBeam游标不会成为此解决方案的问题。
答案 2 :(得分:0)
更简单的解决方案是将一些默认文本(将用作水印)设置为TextBox。在GotFocus事件中,清除后面代码中的文本。在LostFocus事件上,检查用户是否输入了一些文本或TextBox是否为空。如果它有一些用户文本,那就试试吧。如果它是空的,请放回水印文本!