Windows 8 XAMl C#在文本框中添加水印?

时间:2012-09-29 10:40:12

标签: c# xaml windows-8 windows-runtime

如何在Windows 8应用程序的WINRT XAML C#代码中为文本框添加水印。有一个工具提示的直接属性,但同样不适用于Watermark,那么实现这个的最短和最有效的方法是什么?

3 个答案:

答案 0 :(得分:6)

  • 转到 ManageNugetPacageManager - >搜索 Winrt Xaml工具包 - >然后安装 winrt xaml工具包

  • 然后转到要添加水印文本框的xaml页面

  • 然后将以下命名空间定义为xaml页面 xmlns:local="using:WinRTXamlToolkit.Controls"

  • 然后转到您要添加的位置 watermarktextbox <local:WatermarkTextBox WatermarkText="MyWaterMarkText" />下面添加以下行

我希望它适合你!

答案 1 :(得分:2)

使用要显示的水印(例如Image control)填充控件,在其上放置一个TextBox(例如将它们放在具有相同行和列的网格中)并将背景设置为Brushes.Transparent

有关画笔和设置TextBox pacground的详细信息,请参阅Set background color of WPF Textbox in C# code

答案 2 :(得分:2)

您还可以使用WinRT XAML工具包中的WatermarkTextBox来获得开箱即用的解决方案。您还可以使用Popup或通过将水印TextBlock(或任何其他水印UIElement)注入TextBox的可视树中来实现一个作为附加行为(尽管Toolkit尚不支持)。