rubyraj
rubyraj

Reputation: 611

how to draw/add an image in textbox in windows phone 7?

i want to draw/add an image as a part of text in textbox in windows phone 7. I m not using Expression blend.

So where i can find the drawing objects as well as paint events in silverlight?

Upvotes: 0

Views: 3973

Answers (3)

NathanErtner
NathanErtner

Reputation: 141

You can apply a background image to a lot of Silverlight elements with the following:

<TextBox x:Name="SearchBox" Text="Search" Height="70" Width="390">
    <TextBox.Background>
            <ImageBrush ImageSource="Images/MagnifyingGlass.png" Stretch="UniformToFill" />
    </TextBox.Background>
</TextBox>

Upvotes: 1

AlexMok
AlexMok

Reputation: 764

You might want to override the template in order to define your own template. You can do this in the style:

 <Style x:Key="textboxImage" TargetType="TextBox">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="TextBox">
                    <Grid>
                        <Grid.Background>
                            <ImageBrush ImageSource="ApplicationIcon.png" />
                        </Grid.Background>
                        <ContentControl x:Name="ContentElement" Foreground="{TemplateBinding Foreground}"  Margin="{TemplateBinding Margin}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="Stretch"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

You just need to set the style of your textbox to StaticResources textboxImage.

I just tested and it works fine.

Upvotes: 0

Matt Lacey
Matt Lacey

Reputation: 65556

There is no way to add an image as part of a TextBox. Although I'm not entirely sure what you want to achieve.

Do you really mean TextBox? If so, the only option will be to restyle it so it have the image included as well.

Do you mean TextBlock? If so, and you're trying to include an image part way through a piece of text, you can wrap the image and the text either side of it in a WrapPanel.

Upvotes: 0

Related Questions