wpf 搜索框(textbox)中如何添加图片

xzjxylophone 2010-07-13 05:50:32
一个 textbox 左部分是一个图片,右部分接受用户输入,然后自动查询

主要是 怎么把一个textbox 显示成 左边是图片,右部分是用户输入?
...全文
1334 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
搁浅St 2011-10-04
  • 打赏
  • 举报
回复
用padding-left 你给padding-left设个值,让内容刚好从图片右边开始
xzjxylophone 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhengqian529 的回复:]
自己做个template
C# code

<Window.Resources>
<Style x:Key="TextBoxTemplate" TargetType="{x:Type TextBox}">
<Setter Property="Template">
<Setter.Value>
……
[/Quote]
这个是: 图片在textbox 外面 而不是textbox里面.....
zhengqian529 2010-07-13
  • 打赏
  • 举报
回复
同时LZ也可以设置Grid的列宽

<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>

以及ControlTemplate中的Image和TextBox的HorizontalAlignment属性,可以达到你想要的效果
zhengqian529 2010-07-13
  • 打赏
  • 举报
回复
自己做个template

<Window.Resources>
<Style x:Key="TextBoxTemplate" TargetType="{x:Type TextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Width="20" Height="20" Margin="2,2,2,1" Source="1.jpg"/>
<TextBox Grid.Column="1" Width="20" Height="20"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>


然后你的TextBox在使用的时候
<TextBox Height="22" Width="51" Style="{StaticResource TextBoxTemplate}"/>


当然image里面有source的位置你自己要根据路径修改,以及你设置的width,height属性都自己根据喜好调整一下,要美感哦!!!WPF就是追求美感的。
如一宝宝 2010-07-13
  • 打赏
  • 举报
回复
自带的TextBox肯定没有这种功能, 建议lz做成自定义控件。。。

110,914

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧