- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用水印文本框,如 Watermark TextBox in WPF
<Grid Grid.Row="0" Background="{StaticResource brushWatermarkBackground}" Style="{StaticResource EntryFieldStyle}" >
<TextBlock Margin="5,2" Text="This prompt dissappears as you type..." Foreground="{StaticResource brushWatermarkForeground}"
Visibility="{Binding ElementName=txtUserEntry, Path=Text.IsEmpty, Converter={StaticResource BooleanToVisibilityConverter}}" />
<TextBox Name="txtUserEntry" Background="Transparent" BorderBrush="{StaticResource brushWatermarkBorder}" />
</Grid>
最佳答案
一般方法是相同的:您编写自定义控件样式,并在密码框为空时显示水印。这里唯一的问题是 PasswordBox.Password 属性不是依赖属性,您不能在触发器中使用它。 PasswordBox 也是密封的,因此您无法覆盖此通知行为。但是您可以在此处使用附加属性。下面的代码演示了如何。
XAML
<Window x:Class="WpfTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WpfTest="clr-namespace:WpfTest"
Title="Password Box Sample" Height="300" Width="300">
<Window.Resources>
<Style x:Key="{x:Type PasswordBox}"
TargetType="{x:Type PasswordBox}">
<Setter Property="WpfTest:PasswordBoxMonitor.IsMonitoring"
Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type PasswordBox}">
<Border Name="Bd"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
SnapsToDevicePixels="true">
<Grid>
<ScrollViewer x:Name="PART_ContentHost"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
<TextBlock Text="Please enter your password"
Margin="4, 2, 0, 0"
Foreground="Gray"
Visibility="Collapsed"
Name="txtPrompt" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled"
Value="false">
<Setter TargetName="Bd"
Property="Background"
Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Setter Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
<Trigger Property="WpfTest:PasswordBoxMonitor.PasswordLength" Value="0">
<Setter Property="Visibility" TargetName="txtPrompt" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<PasswordBox VerticalAlignment="Top"/>
</Grid>
</Window>
using System.Windows;
using System.Windows.Controls;
namespace WpfTest
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
public class PasswordBoxMonitor : DependencyObject
{
public static bool GetIsMonitoring(DependencyObject obj)
{
return (bool)obj.GetValue(IsMonitoringProperty);
}
public static void SetIsMonitoring(DependencyObject obj, bool value)
{
obj.SetValue(IsMonitoringProperty, value);
}
public static readonly DependencyProperty IsMonitoringProperty =
DependencyProperty.RegisterAttached("IsMonitoring", typeof(bool), typeof(PasswordBoxMonitor), new UIPropertyMetadata(false, OnIsMonitoringChanged));
public static int GetPasswordLength(DependencyObject obj)
{
return (int)obj.GetValue(PasswordLengthProperty);
}
public static void SetPasswordLength(DependencyObject obj, int value)
{
obj.SetValue(PasswordLengthProperty, value);
}
public static readonly DependencyProperty PasswordLengthProperty =
DependencyProperty.RegisterAttached("PasswordLength", typeof(int), typeof(PasswordBoxMonitor), new UIPropertyMetadata(0));
private static void OnIsMonitoringChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var pb = d as PasswordBox;
if (pb == null)
{
return;
}
if ((bool) e.NewValue)
{
pb.PasswordChanged += PasswordChanged;
}
else
{
pb.PasswordChanged -= PasswordChanged;
}
}
static void PasswordChanged(object sender, RoutedEventArgs e)
{
var pb = sender as PasswordBox;
if (pb == null)
{
return;
}
SetPasswordLength(pb, pb.Password.Length);
}
}
}
关于来自 Watermark TextBox 的 WPF Watermark PasswordBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1607066/
我正在使用水印文本框,如 Watermark TextBox in WPF 如何将其应用于 PasswordBox? 最佳答案 一般方法是相同的:您编
我是引导世界的新手。有没有办法使用 Bootstrap 放置水印?如果有,请帮助我提供示例代码: Watermark sample code
我需要保护我的客户可以私下访问的数据。我的数据不在任何文档中,而是在 plain text 中,例如 JSON 字符串。我想保护我的数据不被修改,然后在未经我许可的情况下重新分发。 我在网上查了一段时
我需要保护我的客户可以私下访问的数据。我的数据不在任何文档中,而是在 plain text 中,例如 JSON 字符串。我想保护我的数据不被修改,然后在未经我许可的情况下重新分发。 我在网上查了一段时
有人可以帮我找到一个库,或者算法的详细描述,可以将数字水印(隐形水印,只是一种隐写术)嵌入到 jpeg/png 文件中。但算法的质量应该很棒。图像旋转和扩展(如果可能)后应该可以提取该标记。 Mark
🌿今天我们来了解一下flink中的几个重要基础概念:time、watermark、state,这是flink流处理中实现数据流执行速度快和结果正确的要点,对往期内容感兴趣的同学可以看下面👇: 链接
我有一个关于 FFMpeg 的问题。我想“注入(inject)”一个 mp3(嘟嘟声)文件一次,例如5 秒进入另一个 mp3 文件。你们中的任何人都可以为我提供一些如何执行此操作的指导吗? 非常感谢!
这个问题在这里已经有了答案: How do I make an HTML text box show a hint when empty? (22 个答案) 关闭 6 年前。 我想知道如何在页面加载
我在多个文件上运行 ImageMagick mogrify 时遇到一个奇怪的问题。我使用转换字符串对图像进行多次转换,从而生成缩略图。带有转换字符串的命令在单个文件上运行良好,但是在批量文件上运行时有
我正在从数据流管道中的 PubSub 主题读取记录。 PubSub 记录分为固定窗口,然后在每个窗口上分组。每个窗口都按序列号排序,因为我们需要使用 beam.SortValues 按顺序处理这些记录
我在 div 中有一张图片。我需要添加一个水印效果,或者基本上是另一个图像,覆盖图像 div。我怎样才能用 css 做到这一点? 示例代码: CSS: #image { background
在我目前的工作场所,我们正在使用 Team Foundation Server (TFS)(我相信是 2015 年),在我目前的工作场所,我注意到“水印”字段——它是什么意思/代表什么? 最佳答案 此
水印我的意思是: 以某种方式集成到 .exe/.dll 文件中的字节数组,可以搜索该文件。 许多反盗版/反逆向工程程序包括一个称为“水印”的系统作为特征。例如 VMProtect。 这是如何运作的?
好的,我熟悉整个概念,并且我已经成功地为 NSImage 添加了“水印”。 我就是这样做的: - (void)maskOne:(NSString*)filename atTarget:(NSStrin
我看到了有关 adding watermark on images with php 的精彩问题和答案 我也想用 ASP.NET 做同样的事情 这里有几个问题。 如何使用 ASP 做到这一点? 此过程
我正在尝试在图像和视频上添加水印。对于图像我得到了如下的解决方案 图片水印代码 方法 static void addWatermarkOnImage(String text, File sourceI
有没有办法让页面中间的水印显示在可点击按钮后面? http://jsfiddle.net/fg7m3/533/ .watermark { position: absolute; opa
我正在尝试为另一张图片添加图片水印。我有以下代码,但我遇到了问题。我不知道这个 'Resources res' 是什么。 有人能帮忙吗? public static Bitmap addWaterma
废话不说了,贴代码: 复制代码代码如下: <?php /************************************ //函数: wate
我正在尝试使用 videojs-watermark npm 模块,但我得到的错误是: TypeError: player.watermark is not a function. 代码如下: impo
我是一名优秀的程序员,十分优秀!