WPF PasswordBox标签可见性
|
我已经为登录屏幕创建了一个密码箱用户控件。我试图使用水印方法,但是当我尝试使用它们时,我看到的大多数示例都失败了。我切换到仅能通过c#代码操纵标签的可见性。
<Style x:Key=\"{x:Type PasswordBox}\"
x:Name=\"Style1\"
BasedOn=\"{StaticResource {x:Type PasswordBox}}\"
TargetType=\"{x:Type PasswordBox}\">
<Setter Property=\"Template\">
<Setter.Value>
<ControlTemplate TargetType=\"{x:Type PasswordBox}\">
<Border x:Name=\"TextBoxBorder\"
BorderBrush=\"{TemplateBinding BorderBrush}\"
BorderThickness=\"{TemplateBinding BorderThickness}\"
CornerRadius=\"7\">
<Border.Background>
<LinearGradientBrush StartPoint=\"0,0\" EndPoint=\"2,1\">
<GradientStop Color=\"{Binding Path=GradientColorStart}\"
Offset=\"0\"/>
<GradientStop Color=\"{Binding Path=GradientColorEnd}\"
Offset=\"1\"/>
</LinearGradientBrush>
</Border.Background>
<Grid>
<Label x:Name=\"TextPrompt\"
Content=\"Password\"
Focusable=\"False\"
FontSize=\"15\"
Foreground=\"Green\"
Visibility=\"Visible\" />
<ScrollViewer x:Name=\"PART_ContentHost\" Margin=\"0\" SnapsToDevicePixels=\"{TemplateBinding SnapsToDevicePixels}\" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property=\"IsFocused\" Value=\"True\">
<Setter Property=\"Foreground\"
Value=\"{Binding Path=OnFocusTextColor}\" />
<Setter Property=\"FontWeight\"
Value=\"{Binding Path=OnFocusFontWeight}\" />
<Setter Property=\"FontStyle\"
Value=\"{Binding Path=OnFocusFontStyle}\" />
</Trigger>
</ControlTemplate.Triggers>
<!--
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property=\"IsFocused\" Value=\"False\"/>
<Condition Property=\"Password\" Value=\"\"/>
</MultiTrigger.Conditions>
<Setter Property=\"Visibility\"
TargetName=\"TextPrompt
Value=\"Visible\"/>
</MultiTrigger>
<Trigger Property=\"IsFocused\" Value=\"True\">
<Setter Property=\"Foreground\" Value=\"{Binding Path=OnFocusTextColor}\" />
<Setter Property=\"FontWeight\" Value=\"{Binding Path=OnFocusFontWeight}\" />
<Setter Property=\"FontStyle\" Value=\"{Binding Path=OnFocusFontStyle}\" />
</Trigger>
<Trigger Property=\"IsEnabled\" Value=\"False\">
<Setter Property=\"Foreground\" Value=\"DimGray\" />
</Trigger>
</ControlTemplate.Triggers>
-->
</ControlTemplate>
</Setter.Value>
</Setter>
控件代码
<PasswordBox x:Name=\"PasswordTest\"
FontSize=\"15\"
Padding=\"{Binding Path=TextPadding}\"
Tag=\"{Binding Path=TextValue}\"
PasswordChanged=\"PasswordTest_PasswordChanged\">
</PasswordBox>
#2ѭ的C#
private void PasswordTest_PasswordChanged(object sender, RoutedEventArgs e)
{
}
我尝试访问标签,但不确定如何正确操作。我尝试将发件人解析为密码箱,就像其他示例使用水印一样,但是我无法访问password属性。
没有找到相关结果
已邀请:
1 个回复
坝镰补翔奋