2016-07-11 3 views
0

Я хочу создать TextBox с изображением в нем. Это то, что я пробовал:TextBox с изображением в WPF

<DockPanel Grid.Row="1" Grid.Column="1" Margin="5" > 
    <Image DockPanel.Dock="Left" Source="D:\my_backup\WPF\SALIENT\SALIENT\Images\d2.PNG" Width="20" Height="20"></Image> 
     <TextBox Text="test" FontSize="16" HorizontalAlignment="Stretch" Background="Transparent"          
     </TextBox> 
</DockPanel> 

это дает мне выход так: img

, но я хочу, чтобы изображение внутри TextBox как этот img

кто может помочь?

+0

Вы видели это? http://stackoverflow.com/questions/8070906/how-to-set-image-in-textbox-in-wpf – CiccioRocca

+0

да, я пробовал это ... но в этом случае.my текст переливается изображение –

ответ

2

Вы можете использовать такую ​​реализацию. , вы должны, вероятно, сделать из него пользовательский контроль.

<Border BorderBrush="Black" 
      BorderThickness="2" 
      VerticalAlignment="Center" 
      CornerRadius="5"> 

     <StackPanel Margin="5" 
        Orientation="Horizontal"> 

      <Image Source="C:\SourceOfTheImage\Path\Image.png" 
        Height="18"/> 
      <TextBlock Text="Hello, I am a text block!" 
         Margin="3 0 0 0"/> 

     </StackPanel> 


    </Border> 

Похоже, что это для меня

+0

thats работал fr me .Спасибо –

0

Попробуйте это:

<Border Padding="5" BorderThickness="2,2,2,2" BorderBrush="Gray" CornerRadius="2,2,2,2"> 
    <DockPanel Grid.Row="1" Grid.Column="1" Margin="5" > 
     <Image DockPanel.Dock="Left" Source="D:\my_backup\WPF\SALIENT\SALIENT\Images\d2.PNG" Width="20" Height="20"></Image> 
     <TextBox Text="test" FontSize="16" HorizontalAlignment="Stretch" Background="Transparent" BorderBrush="Transparent" ></TextBox> 
    </DockPanel> 
</Border> 

Это было бы самым простым единовременный способ сделать это. Вы можете сбросить его в UserControl для повторного использования.

Второй способ достижения этого - открыть шаблон TextBox и поместить его в состав TextBox, который позволит вам избежать необходимости использования DockPanel и Border здесь, а также позволит вам сделайте Шаблон ресурсом, который вы можете легко прикрепить к любому текстовому полю в будущем.