2016-07-11 7 views
0

TextBoxに画像があるように作成します。これは、私が試したものです:WPFの画像アイコン付きTextBox

<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

をしかし、私は助けることができる。このimg

誰のようなTextBox内の画像をしたいですか?

+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私。ありがとうございました –

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にダンプできます。

これを達成するもう1つの方法は、TextBoxテンプレートを開いて、このアイコンをTextBoxのメイクに入れて、ここでDockPanelとBorderを必要としないようにするだけでなく、テンプレートを将来どのTextboxにも簡単にアタッチできるリソースにする。

関連する問題