一个 textbox  左部分是一个图片,右部分接受用户输入,然后自动查询  主要是  怎么把一个textbox 显示成  左边是图片,右部分是用户输入?

解决方案 »

  1.   

    自带的TextBox肯定没有这种功能, 建议lz做成自定义控件
      

  2.   

    http://www.codeproject.com/KB/silverlight/STextBox.aspx
      

  3.   

    自己做个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就是追求美感的。
      

  4.   

    同时LZ也可以设置Grid的列宽<ColumnDefinition Width="Auto"/>
    <ColumnDefinition Width="*"/>以及ControlTemplate中的Image和TextBox的HorizontalAlignment属性,可以达到你想要的效果
      

  5.   

    这个是: 图片在textbox 外面 而不是textbox里面.....  
      

  6.   

    用padding-left  你给padding-left设个值,让内容刚好从图片右边开始