输入密码的实现:如何点击TextBlock下的TextBox?
Implementation for entering a password: How to click on the TextBox located under the TextBlock?
我正在尝试另一种密码绑定方式(我知道有不同的方式)
我把一个文本块和一个文本框放在同一个位置
用户将在文本框内书写,其前景是透明的
文本块将绑定文本框文本的长度,并根据长度显示“*”。
当我按住某个“眼睛图标”时,文本块将不可见,文本框的前景将为黑色
问题是当我把它们放在一起时,积木挡住了盒子,我无法在里面写东西。
也许这只是一个 属性 我没有找到,“优先级”之类的东西
想知道我该怎么做,谢谢:)
只有您应该更改控件代码位置!
改变
The problem is that when I put them both together, the block blocks the box and I can't write in it.
Maybe it's just a property I didn't find, "priority" or something
IsHitTestVisible 属性.
示例:
<StackPanel>
<TextBox Text="1234"/>
<Grid>
<TextBox x:Name="textBox" Text="1234"/>
<TextBlock Text="***********" Background="Wheat"
IsHitTestVisible="False"/>
</Grid>
<TextBlock Text="{Binding Text, ElementName=textBox}"/>
</StackPanel>
但是!!!
在我看来,让 TextBox 透明更容易。
在这样的实现中,您可以看到输入光标在字段中的位置。
示例:
<StackPanel>
<TextBox Text="1234"/>
<Grid>
<TextBlock Text="***********" Background="Wheat"/>
<TextBox x:Name="textBox" Text="1234"
Background="Transparent"
Foreground="Transparent"
BorderThickness="0"/>
</Grid>
<TextBlock Text="{Binding Text, ElementName=textBox}"/>
</StackPanel>
我正在尝试另一种密码绑定方式(我知道有不同的方式)
我把一个文本块和一个文本框放在同一个位置
用户将在文本框内书写,其前景是透明的
文本块将绑定文本框文本的长度,并根据长度显示“*”。
当我按住某个“眼睛图标”时,文本块将不可见,文本框的前景将为黑色
问题是当我把它们放在一起时,积木挡住了盒子,我无法在里面写东西。
也许这只是一个 属性 我没有找到,“优先级”之类的东西
想知道我该怎么做,谢谢:)
只有您应该更改控件代码位置!
改变
The problem is that when I put them both together, the block blocks the box and I can't write in it. Maybe it's just a property I didn't find, "priority" or something
IsHitTestVisible 属性.
示例:
<StackPanel>
<TextBox Text="1234"/>
<Grid>
<TextBox x:Name="textBox" Text="1234"/>
<TextBlock Text="***********" Background="Wheat"
IsHitTestVisible="False"/>
</Grid>
<TextBlock Text="{Binding Text, ElementName=textBox}"/>
</StackPanel>
但是!!!
在我看来,让 TextBox 透明更容易。
在这样的实现中,您可以看到输入光标在字段中的位置。
示例:
<StackPanel>
<TextBox Text="1234"/>
<Grid>
<TextBlock Text="***********" Background="Wheat"/>
<TextBox x:Name="textBox" Text="1234"
Background="Transparent"
Foreground="Transparent"
BorderThickness="0"/>
</Grid>
<TextBlock Text="{Binding Text, ElementName=textBox}"/>
</StackPanel>