007*_*070 4 wpf xaml textbox image passwordbox
我正在做一个WPF登录界面.在我的登录面板中,我有一个登录TextBox和一个PasswordBox.如下面第一张图所示,登录文本框中有一个小的人类徽标,密码框中有一个锁.我将图像设置为文本框背景,然后当我尝试将一些单词插入登录框时,单词将覆盖人类徽标(图像B).任何建议,使它正确吗?
我的XAML:
<TextBox Width="380" Height="25" HorizontalAlignment="Center" Foreground="WhiteSmoke" BorderBrush="Transparent" >
<TextBox.Background>
<ImageBrush ImageSource="/icon/user_login.png" AlignmentX="Left" Stretch="None"></ImageBrush>
</TextBox.Background>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
图片A:

图B:

Jos*_*one 11
我的建议是你Textbox's用a 替换每一个DockPanel.其中每个都有Image最左边的项目和Textbox最右边的项目.然后将图像分别设置为User和Lock.然后设置的背景的Textbox和Images为透明.然后,您可以设置您想要的任何样式DockPanel.
编辑1 - 从工作示例复制粘贴
码:
<DockPanel>
<Button BorderThickness="0" DockPanel.Dock="Left" HorizontalAlignment="Right" Height="28" Width="23">
<DynamicResource ResourceKey="SearchBar"/>
</Button> 'This is a button, because I have a custom Style which I am using which makes all the borders go away. And also because I use it to clear the field.
<TextBox Text="Search..." FontSize="16" HorizontalAlignment="Stretch" Background="Transparent"/>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
图片:

通过不在DockPanel.Dock第二个项目上设置属性,我告诉它延伸到其余部分DockPanel.如有任何其他疑问,请告诉我.如果您复制粘贴上面的内容,它可能看起来不一样,因为我删除了不相关的部分.