×
Namespaces

Variants
Actions
(Difference between revisions)

Creating a button with an image and text in Windows Phone

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update - Fix metadata etc)
hamishwillee (Talk | contribs)
(Hamishwillee - Tidy wiki text. Subedit. Add references)
Line 1: Line 1:
[[Category:Windows Phone]][[Category:Silverlight]][[Category:UI]]
+
[[Category:Windows Phone]][[Category:Silverlight]][[Category:UI]][[Category:Code Examples]]
{{Abstract|This article explains how to define ContentControl in WP}}  
+
{{Abstract|This article explains how to create a Button with an image and text in Windows Phone 7.}}
 +
{{SeeAlso|
 +
* [http://msdn.microsoft.com/en-us/library/hh487169(v=vs.92).aspx Button Control Design Guidelines for Windows Phone]
 +
* [http://msdn.microsoft.com/en-us/library/system.windows.controls.button(v=vs.95).aspx Button Class]
 +
* [http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol(v=vs.95).aspx ContentControl Class]}}
  
 
{{ArticleMetaData <!-- v1.2 -->
 
{{ArticleMetaData <!-- v1.2 -->
Line 24: Line 28:
 
|author= [[User:girishpadia]]
 
|author= [[User:girishpadia]]
 
}}
 
}}
 
  
 
==Introduction==
 
==Introduction==
  
'''ContentControl''' is a class which provides the button’s Content property. Button derives from Control but it can be also derived from '''ContentControl'''. This article explains the concept of ContentControl in Windows Phone. The motive of this article is to create a button with a picture and a text within it. Let's see how to cross this road.
+
Most buttons on Windows Phone are relatively "flat" and are labelled with text. This text is defined in the Content parameter (a [http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol(v&#61;vs.95).aspx ContentControl]) of the [http://msdn.microsoft.com/en-us/library/system.windows.controls.button(v&#61;vs.95).aspx Button] XAML definition:
 +
<code xml><Button Content="Button" HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center"  /></code>
 +
This example shows how you can replace the button text with a picture.  
 +
[[File:ContentControl.jpg]]
 +
Note: The wonderful flower you are seeing in the above image is captured by my digital camera.  
  
==Description==
+
== Implementation ==
Create a project with any name of your choice ('''ContentControl''' in my case) and place a button with it. As soon as you place the button you will see the ''MainPage.xaml'' will change with the some code which may look like the following.
+
Create a project with any name of your choice ('''ContentControl''' in this example) and place a button with it. As soon as you place the button you will see the ''MainPage.xaml'' will change to code much like the following.
 +
<code xml><Button Content="Button" HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center"  /></code>
  
<code xml>
+
Remove this content property from this XML text ({{Icode|Content&#61;"Button"}}) so that your code should be simillar to below.
<Button Content="Button" HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center"  />
+
<code xml><Button HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center"  /></code>
</code>
+
  
In above code, the button property "Content" is set to "Button". Now remove this content property from this XML text so that your code should be simillar to below.
+
Now we need to add an image to the project to use for the button:
 
+
# Right click on project and select '''Add->New Folder'''.  
<code xml>
+
#:A blank folder will be generated. Rename it to "Image".  
<Button HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center"  />
+
# Add an image to this new "Image" folder. "You can do this by right click on Image folder and select Add->Existing item
</code>
+
For this example the image name is '''"myimage.JPG".'''  
 
+
Remember that our motive is to create button with an image and a text within it. Now right click on project and select '''Add->New Folder'''. A blank folder will be generated. Rename it to "Image". The next step is to search a beautiful picture and add it to the Image folder which we create just now. You can do this by right click on Image folder and select Add->Existing item.. and select your favourite image. In this case the image name is '''"myimage.JPG".''' Now again go back to your button code in xaml file. We have already removed the content property from the code. Change the code to following to add the image which we just now added to our project.
+
  
 +
Now again go back to your button code in XAML file and add the image as shown:
 
<code xml>
 
<code xml>
 
<Button HorizontalAlignment="Center" VerticalAlignment="Center" >
 
<Button HorizontalAlignment="Center" VerticalAlignment="Center" >
<StackPanel>
+
  <StackPanel>
  <Image Source="Image\myimage.JPG" Stretch="Fill" Height="334" Width="339" />
+
      <Image Source="Image\myimage.JPG" Stretch="Fill" Height="334" Width="339" />
</StackPanel>
+
  </StackPanel>
 
</Button>
 
</Button>
 
</code>
 
</code>
  
You can see in the designer that the picture is now part of your button. Stil we need to add text below the image. We can use '''<TextBlock>''' to add the text block. You can add the TextBlock from toolbox or you can type the xml code of TextBlock. After adding TextBlock your above code will look something like this.
+
You can see in the designer that the picture is now part of your button. We add a '''<TextBlock>''' below this image - using either the toolbox (drag'n'drop) or typing the xml code of TextBlock. After adding TextBlock your above code will look something like this.
 
+
+
 
<code xml>
 
<code xml>
 
<Button HorizontalAlignment="Center" VerticalAlignment="Center" >
 
<Button HorizontalAlignment="Center" VerticalAlignment="Center" >
Line 65: Line 69:
 
</code>
 
</code>
  
 
 
That's it. We have added a picture and text within the button. Press F5 and run the project and see the output in emulator.
 
That's it. We have added a picture and text within the button. Press F5 and run the project and see the output in emulator.
  
==Image==
+
== References ==
  
 
+
See the examples section of [http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol(v&#61;vs.95).aspx ContentControl Class] for other examples of setting button content.
[[File:ContentControl.jpg]]
+
==Note==
+
PS: The wonderful flower you are seeing in the above image is captured by my digital camera. :-)
+
[[Category:Code Examples]]
+

Revision as of 08:41, 26 April 2012

This article explains how to create a Button with an image and text in Windows Phone 7.

WP Metro Icon UI.png
SignpostIcon XAML 40.png
WP Metro Icon WP8.png
SignpostIcon WP7 70px.png
Article Metadata
Code ExampleTested withCompatibility
Platform(s): Windows Phone
Windows Phone 8
Windows Phone 7.5
Article
Created: girishpadia (17 Oct 2011)
Last edited: hamishwillee (26 Apr 2012)

Introduction

Most buttons on Windows Phone are relatively "flat" and are labelled with text. This text is defined in the Content parameter (a ContentControl) of the Button XAML definition:

<Button Content="Button" HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center"  />

This example shows how you can replace the button text with a picture. ContentControl.jpg Note: The wonderful flower you are seeing in the above image is captured by my digital camera.

Implementation

Create a project with any name of your choice (ContentControl in this example) and place a button with it. As soon as you place the button you will see the MainPage.xaml will change to code much like the following.

<Button Content="Button" HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center"  />

Remove this content property from this XML text (Content="Button") so that your code should be simillar to below.

<Button HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center"  />

Now we need to add an image to the project to use for the button:

  1. Right click on project and select Add->New Folder.
    A blank folder will be generated. Rename it to "Image".
  2. Add an image to this new "Image" folder. "You can do this by right click on Image folder and select Add->Existing item

For this example the image name is "myimage.JPG".

Now again go back to your button code in XAML file and add the image as shown:

<Button HorizontalAlignment="Center" VerticalAlignment="Center" >
<StackPanel>
<Image Source="Image\myimage.JPG" Stretch="Fill" Height="334" Width="339" />
</StackPanel>
</Button>

You can see in the designer that the picture is now part of your button. We add a <TextBlock> below this image - using either the toolbox (drag'n'drop) or typing the xml code of TextBlock. After adding TextBlock your above code will look something like this.

<Button HorizontalAlignment="Center" VerticalAlignment="Center" >
<StackPanel>
<Image Source="Image\myimage.JPG" Stretch="Fill" Height="334" Width="339" />
<TextBlock Text="This button has picture!" TextAlignment="Center" />
</StackPanel>
</Button>

That's it. We have added a picture and text within the button. Press F5 and run the project and see the output in emulator.

References

See the examples section of ContentControl Class for other examples of setting button content.

1203 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×