Tuesday 4 November 2014

Windows Phone Interview Question Answer

Windows Phone Questions
1. LifeCycle Of WindowsPhone:
  App Launching=>Running=> OnNavigatedFrom(NavigationEventArgs)=>deactivated=>dormanent (stopped and no processing takes place)=>tombstoned(app has been terminated and it will be relaunched and the application can use the preserved data to restore state) =>Activated=> OnNavigatedTo(NavigationEventArgs) =>Closing=>raised when the user navigates backwards past the first page of an app
2. ContentTemplate:
Gets or sets the data template used to display the content of the ContentControl
ControlTemplate: Specifies the visual structure and behavioral aspects of a Control that can be shared across multiple instances of the control..
Control: Represents the base class for UI elements that use a ControlTemplate to define their appearance.

3. DataTemplate:
Describes the visual structure of a data object.
4. ItemTemplate:
·         Gets or sets the custom content for the data item in a control.ex:listbox
·         ItemsControl: Represents a control that can be used to present a collection of items.
·         ItemsPresenter: Specifies where items are placed in a control, usually an ItemsControl.
·          ItemPanelTemplate:specify the panel used to arrange the children of your ListBox.
·         ItemSource: Gets or sets a collection used to generate the content of the ItemsControl.
5. Layouts:
Windows Phone provides a flexible layout system that enables you to specify how controls are positioned on the screen.
i)Absolute layout(Canvas): you arrange child elements in a layout panel by specifying their exact locations relative to their parent element
ii)Dynamic Layout(Stack Panel,Grid): To use automatic or proportional sizing, you must assign special values to the Height andWidth properties.
6. StackPanel Vs Grid Vs Canvas Vs WrapPanel:
StackPanel: The StackPanel is a simple layout panel that arranges its child elements into a single line that can be oriented horizontally or vertically. 
Grid: The Grid control is the most flexible layout panel, and supports arranging controls in multi-row and multi-column layouts.
Canvas:  Canvas is useful for scenarios where the UI elements contained within it never move.
WrapPanel or WrapGrid : Positions child elements sequentially from left to right or top to bottom. When elements extend beyond the container edge, elements are positioned in the next row or column. In Windows Phone 8, consider using theWrapPanel available in the Windows Phone Toolkit.
7. What is  Diff B/W Grid column_2  2* and column_4  2*:
Suppose there  4 columns in grid
Column _2  2*: After the Auto columns are calculated, the column gets part of the remaining width. Column 2 will be one-half as wide as Column 4.
Column _4  2*: After the Auto columns are calculated, the column gets part of the remaining width. Column 4 will be two times as wide as Column 2.
8. Panel:
Provides a base class for all Panel elements. Use Panel elements to position and arrange child objects in Windows Phone applications.
9. Style:
A Style is basically a collection of property settings applied to multiple instances of the same type. AStyle contains a collection of one or more Setter objects. Each Setter has a Property and a Value. TheProperty is the name of the property of the element the style is applied to. The Value is the value that is applied to the property.
Implicit Styles: For example, if you create a style implicitly for all the ToggleButton controls in your application, and your application has ToggleButton and CheckBox controls (CheckBox derives from ToggleButton), the style is applied only to the ToggleButton controls.
BasedOn Styles: It is possible to build a new style based on an existing style. You can do this using the BasedOnproperty. This reduces the duplication of code and makes it easier to manage resources. Each style supports only one BasedOn style. 

10. UserControl:
Provides the base class for defining a new control that encapsulates related existing controls and provides its own logic.
11. Pivot vs Panorama:
Panorama control is really meant for rich Hub type look .. smooth multi-screen scrolling with Parallax effect, ideally including images in the views. The Pivot control is more for presenting slices of the related data to the user or categorizing the content .. the in-built emails & calendar are examples. Both controls are very suited for dynamic data-binding.
12. Animation:
You have to make the Storyboard a resource that is available to the object that you want to animate. The
Storyboard: Controls animations with a timeline, and provides object and property targeting information for its child animations.
13. ViewBox:
Defines a content decorator that can stretch and scale a single child to fill the available space.
14. VirtualizingStackPanel:

Arranges and virtualizes content on a single line that is oriented either horizontally or vertically.

Virtualization: With UI virtualization, the complete data set is stored in memory. Sometimes, your data set is so large that it can't or shouldn't be stored in memory all at once. In this case, you can use data virtualization to get only a subset of the data to work with. The ItemsControl can still apply UI virtualization to the subset of data created by data virtualization.

15. ObservableCollection<T>:

Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed which is most important in listbox data binding .

16. INotifyPropertyChanging:

The INotifyPropertyChanging interface allows the app to notify the DataContext when it is modifying a property that will ultimately be submitted as an update to the database. The DataContext can use that notification as a trigger to create the copy. This way, only the items that are actually changing need to be duplicated.

17.How many ways to store data in windows phone:

1.  Application settings(IsolatedStorageSettings)
2.  Files and folders(IsolatedStoarge)
3.  Database(SQL CompatEdition): LINQ to SQL is used to define the database schema, select data, and save changes to the underlying database file residing in isolated storage.

External Storage: WP7 does not support application's access to external storage. By limiting the use of external storage, WP7 provides the application with a safe-sandbox, and prevents unpredictable behavior caused by missing external storage or corruption of data by other applications.

18.Interface vs AbstractClass:
Abstract classes can have implementations for some of its members, but the interface can't have implementation for any of its members.

Interfaces cannot have fields where as an abstract class can have fields.

An interface can inherit from another interface only and cannot inherit from an abstract class, where as an abstract class can inherit from another abstract class or another interface.

A class can inherit from multiple interfaces at the same time, where as a class cannot inherit from multiple classes at the same time.

Abstract class members can have access modifiers where as interface members cannot have access modifiers.

19.MVVM:

The Model-View-ViewModel (MVVM) pattern is an application pattern that isolates the user interface from the underlying business logic. MVVM belongs to a class of patterns called Separated Presentation. These patterns provide a clean separation between the UI and the rest of the application. This improves the testability of the application and allows the application and its UI to evolve more easily and independently.

20.Silverlight:

Silverlight is a powerful development platform for creating engaging, interactive user experiences for Web, desktop, and mobile applications when online or offline. Silverlight is a part of the Visual Studio package.

21.XAML:

Extensible Application Markup Language (XAML) is a declarative language. Specifically, XAML can initialize objects and set properties of objects, using a language structure that shows hierarchical relationships between multiple objects, and using a backing type convention that supports extension of types. You can create visible UI elements in the declarative XAML markup. You can then use a separate code-behind file to respond to events and manipulate the objects you declare in XAML. 


22.Metro:
Windows 8 marks the next step in the evolution of the Metro design style. Through the bold use of color, typography and motion
23.WindowPhone Resolutions:
Resolution
Resolution
Aspect ratio
Delta from Windows Phone OS 7.1
Scaled resolution
WVGA
480 × 800
15:9
None. This is the only supported resolution for Windows Phone OS 7.1.
480 × 800
WXGA
768 × 1280
15:9
1.6x scale
480 × 800
720p
720 × 1280
16:9
1.5x scale, 80 pixels taller (53 pixels, after scaling)
480 × 853
1080p
1080 x 1920
16:9
1.5x scale, 80 pixels taller (53 pixels, after scaling)
480 × 853

24.DataBinding:
Data binding provides a simple way for Windows Phone apps to display and interact with data. The way data is displayed is separated from the management of the data. A connection, or binding, between the UI and a data object allows data to flow between the two. When a binding is established and the data changes, the UI elements that are bound to the data can reflect changes automatically. Similarly, changes made by the user in a UI element can be reflected in the data object. For example, if the user edits the value in a TextBox, the underlying data value is automatically updated to reflect that change.
Some common binding scenarios include binding a ListBox to a list of headlines, an input form's TextBoxto a customer data object, or an Image to the current user's photo.

25.DataContext:
The most important aspect of data context is the data source that is used for binding. The most frequent use of DataContext is to set it directly to a CLR data source object. The CLR data source might be a class if it is a static starting data set. Or you can create a local data source as a newObservableCollection<T>, and then update that collection through WCF Data Services or other techniques..
The data context can also hold other characteristics of the binding other than the data source, such as a path into the data source.

26.FrameworkElement:
Provides a framework of common APIs for objects that participate in Windows Phone layout.FrameworkElement also defines APIs related to data binding, object tree, and object lifetime feature areas in Windows Phone.
27.WindowsPhone .Net Framework:
Windows Phone 8 brings a lot of new features to developers and behind the scenes there are also some major improvements. The .NET framework 4.5 and the new C# compiler come with several major new features.
28.async and wait:
you can call an asynchronous method in a synchronous way by simply prefixing it with await inside async method.

29.WebClient vs HttpWebRequest:
In general, WebClient is good for quick and dirty simple requests and HttpWebRequest is good for when you need more control over the entire request.
Also WebClient doesn't have timeout property. And that's the problem, because default value is 100 seconds and that's too much to indicate if there's no Internet connection.
The main difference between the two is that WebClient is basically a wrapper around HtppWebRequest and exposes a simplified interface. 
Apart from that (at least in WP7, not sure about WP8), WebClient only works on the user thread, which is not a good thing. If you want to wait for the reply on a background thread, you need to use HttpWebRequest.

30.Soap vs xml:
SOAP(Simple Object Access Protocol) is a specialization of XML, as it has a schema, such as http://www.xmlsoap.org/soap/envelope/, whereas XML is more general.
but basically SOAP is done via POST, though Axis2 appears to have support for GET, as a way to have SOAP work in a world where REST seems to rule.
If you use XML over http, it may be better, depending on the need, as a way to transfer data, but in the use cases I can think of it would seem better to just use JSON and REST, but, if you want to transfer XML, or send XML, then you could look at using REST.
31.JSON:
HTTP-based Web services frequently use JavaScript Object Notation (JSON) messages to return data back to the client. JSON objects can easily be instantiated in JavaScript, without parsing logic, which makes it a convenient format for messages in Web applications.
 DataContractJsonSerializer. Serializes objects to the JavaScript Object Notation (JSON) and deserializes JSON data to objects. This class cannot be inherited.
32. MemoryStream:
The MemoryStream Class creates a stream whose backing store is memory. The current position of a stream is the position at which the next read or write operation could take place. The current position can be retrieved or set through the Seek method. When a new instance of MemoryStream is created, the current position is set to zero.
33. BitmapImage:
XAML usage for BitmapImage as an object element is uncommon, because it would only be appropriate for setting a BitmapImage as the object element within a property element usage for setting Image.Source. More typically you would use Image and use the URI to set Image.Source as an attribute.
34. WriteableBitmap:
The WriteableBitmap class has a security model that restricts access to the Pixels array, if theWriteableBitmap is constructed using cross-domain content. For example, a WriteableBitmap that is constructed using a BitmapImage referencing a URL that comes from another domain does not permit access to its Pixels array. The restriction extends to any UI element that uses a URL-derived property for setting some or all of its content.
You can still access PixelHeight and PixelWidth properties of WriteableBitmap even if created from protected content. This information can be useful for determining the natural size of content.


35. PushNotification:
Push notification allows an app to notify you of new messages or events without the need to actually open the application, similar to how a text message will make a sound and pop up on your screen.
i)Toast: Toast notifications are system-wide notifications that do not disrupt the user workflow or require intervention to resolve.  Let’s say you’re using the search application. If you were to receive a toast notification, it would display at the top of the screen for ten seconds before disappearing. If the toast notification is tapped, the application that sent the toast notification will launch. The notification can be dismissed with a simple flick of the finger.
ii)Tile:  Every application has a tile, or image, that is displayed if the user pins the application to the Start screen. This tile can be updated with a push notification.
iii)Raw: f your application is not currently running, the raw notification is discarded on the Microsoft Push Notification Service and is not delivered to the device. The payload of a raw notification has a maximum size of 1 KB.
Note: Finally, each device has a 15 channel limit when it comes to push notifications.
36. xap file:
XAP (pronounced ZAP) is the file extension for a Silverlight-based application package (.xap). This file contains the compressed assemblies and resources of a Silverlight 2 application.
The X doesn't mean anything. I've asked, too.
From what I can tell, they didn't want it to look too much like *.ZIP or *.SAP.
But in generally, XAP is also the extension for XACT Audio Projects, open able with the Microsoft Cross-Platform Audio Creation Tool. Silverlight XAP Files are not open able with the Audio Creation Tool, and XACT XAP files are not archives.
37. dll:
A dynamic-link library (DLL) file is an executable file that allows programs to share code and other resources necessary to perform particular tasks. Microsoft Windows provides DLL files that contain functions and resources that allow Windows-based programs to operate in the Windows environment.
38. XNA:
XNA Game Studio 4.0 is a programming environment that allows you to use Visual Studio to create games for Windows Phone, the Xbox 360 console, and Windows-based computers. XNA Game Studio includes the XNA Framework, which is a set of managed libraries designed for game development based on Microsoft .NET Framework 2.0.

39. Navigate between Pages:
We can navigate between windows phone pages using NavigationService.
E.g.: NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
40. How do make grid as scrollable:
We can make a grid, infact any control, scrollable by wrapping in the ScrollViewer
E.g.: Following code snippet shows the way to wrap grid in ScrollViewer and make it scrollable.
        <StackPanel Grid.Row="1" >
            <ScrollViewer>
                <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" ScrollViewer.ManipulationMode="System">
                    <TextBlock Height="30" HorizontalAlignment="Left" Margin="12,91,0,0" Name="textBlock1" Text="First Name"/>
                    <TextBlock Height="30" HorizontalAlignment="Left" Margin="13,148,0,0" Name="textBlock2" Text="Last Name"/>
                </Grid>
            </ScrollViewer>
        </StackPanel>


41. What is serialization?:
Serialization is the process of converting an object into a stream of bytes.

De-serialization is the opposite process of creating an object from a stream of bytes. 

Serialization / De-serialization is mostly used to transport objects.

42. What are the advantages of get and set properties in C#?:
The get property accessor is used to return the property value.

The set property accessor is used to assign a new value.
43. What is the difference between an abstract method & virtual method?:
An Abstract method does not provide an implementation and forces overriding to the deriving class (unless the deriving class also an abstract class), where as the virtual method has an implementation and leaves an option to override it in the deriving class. Thus Virtual method has an implementation & provides the derived class with the option of overriding it. Abstract method does not provide an implementation & forces the derived class to override the method.
44. What are sealed classes in c#?:
The sealed modifier is used to prevent derivation from a class.

A compile time error occurs if a sealed class is specified as the base class of another class.

45. What is the syntax to inherit from a class in C#?:
class MyNewClass : MyBaseClass
46. What is static member?
The member defined as static which can be invoked directly from the class level, rather than from its instance.
47. What is event?
An event is an action performed based on another method of the program.

An event is a delegate type dass member that is used by an object or a class to provide a notification to other objects that an event has occurred.

An event can be declared with the help of the event keyword.

48. Define namespace?
6The namespace are known as containers which will be used to organize the hierarchical set of .Net classes.
49. What is the difference between Custom Control and User Control?
Custom Controls are compiled code (Dlls), easier to use, difficult to create, and can be placed in toolbox. Drag and Drop controls. 

Attributes can be set visually at design time. Can be used by Multiple Applications (If Shared Dlls), Even if Private can copy to bin directory of web application add reference and use. Normally designed to provide common functionality independent of consuming Application. 

User Controls are similar to those of ASP include files, easy to create, can not be placed in the toolbox and dragged - dropped from it. A User Control is shared among the single application files.

50. What is Delegates?
Delegates are a type-safe, object-oriented implementation of function pointers and are used in many situations where a component needs to call back to the component that is using it.
51.  What is the use of using statement in C#?
The using statement is used to obtain a resource, execute a statement, and then dispose of that resource.
52.  What is the difference between ref & out parameters?
An argument passed to a ref parameter must first be initialized. Compare this to an out parameter, whose argument does not have to be explicitly initialized before being passed to an out parameter.
53.   What is the use of enumerated data type?
An enumerated data type is another user defined type which provides a way for attaching names to numbers thereby increasing comprehensibility of the code. The enum keyword automatically enumerates a list of words by assigning them values 0,1,2, and so on.
54.   What is the difference between Object and Instance?
An instance of a user-defined type is called an object. We can instantiate many objects from one class.

An object is an instance of a class.
55.  What is boxing and unboxing?
Implicit conversion of value type to reference type of a variable is known as BOXING, for example integer to object type conversion. 

Conversion of reference type variable back to value type is called as UnBoxing.
56.  What is the difference between public, static and void?
public: The keyword public is an access modifier that tells the C# compiler that the Main method is accessible by anyone.

static: The keyword static declares that the Main method is a global one and can be called without creating an instance of the class. The compiler stores the address of the method as the entry point and uses this information to begin execution before any objects are created.

void: The keyword void is a type modifier that states that the Main method does not return any value.


57.Dynamic or Runtime Polymorphism.?
Run time Polymorphism also known as method overriding. In this Mechanism by which a call to an overridden function is resolved at a Run-Time (not at Compile-time) if a base Class contains a method that is overridden. Method overriding means having two or more methods with the same name, same signature but with different implementation. In this process, an overridden method is called through the reference variable of a superclass, the determination of the method to be called is based on the object being referred to by reference variable.
58.VisualState:
A VisualState specifies how the control looks when it is in a certain state. For example, when a Button is pressed, its border might be a different color than normal. TheVisualState class has a Storyboard property that changes the appearance of the control. When the control enters the state that is specified by the VisualState.Name property, the Storyboard begins. When the control exits the state, the Storyboard stops.
59.Collection:
A Collection is simply an object that knows how to manage references to multiple instances of other classes. It keeps track of other objects. There are different collections to choose from. Each of them with their own “powers”. Some are created to keep objects sorted; some are created to allow for easy retrieval. The use of collections is quite common in the .NET Framework Class Library.
Ex: Array, list, dictionary 
60.Thread:
Portions of the program code associated with the process
61.ThreadPool:
The thread pool manages a set of threads and uses a queue to assign work items to threads as they become available. The thread pool is similar to the asynchronous programming patterns available in the Windows Runtime because it can be used to accomplish extended work without blocking the UI

62.Difference between DataContractSerializer and XMLSerializer

 DataContractSerializer:
 A practical benefit of the design of the DataContractSerializer is better performance over Xmlserializer. This is because DataContratSerializer explicitly shows the which fields or properties are serialized into XML. 
·         The DataContractSerializer can translate the HashTable into XML. 
·         DataContractSerializer uses the opts-in approach i.e, selecting the members that needs to be serialized .This is called as opts-in approach. 
·         DataContractSerializer can able to serialize types that implements Idictionary.
·         We can serialize a type that marked with [Serializable] attribute with DataContractSerializer. It serializes all the members (private, public) even they are marked with [XmlIgnore]. 

 XMLSerializer:
    XMLSerializer does not provide better performance when compare with DataContratSerializer because XMLSerializer does not indicate which fields or properties of the type are serialized into XML
·         XMLSerializer cannot translate the HashTable into XML
·         XmlSerializer cannot serialize private members 
·         XmlSerializer uses opts-out approach i.e., marking the members do not need to be serialized. This is called as opts-out approach. 
·         Only the public members are serialized not the private members. Suppose we do not need any of the member to be serialized we can use [XmlIgnore] attribute 
63.WebService:
 It has an interface described in a machine-processable format (specifically WSDL(web services description language). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards
We can identify two major classes of Web services:
·         REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of stateless operations.
·         Arbitrary Web services, in which the service may expose an arbitrary set of operations.

64.WSDL vs ASMX WebService:
ASMX(Active Server Methods (Microsoft filename extension)):You use an *.asmx file to create an ASP.NET Web Service.  This file contains your service implementation and is needed for hosting the service.
WSDL(web services description language):ASP.NET automatically generates the WSDL or "service description" for your service by reflecting over the types in your service.  You can see the WSDL for your service by browsing to your ASMX file, which should show you a help page for your service containing a link to the service description for the service.  The WSDL can also generally be reached by appending "?wsdl" to the address of the asmx file.
65.OpenDataProtocol(ODATA) webservices:
It is an entity model used to access data as REST webservice ,which can be used to execute queries and to create, update and delete data on to the remote data service.ODATA service allows to querying data over http protocol and retrieve the result in a plain xml format. 
66.Common Language Runtime(CLR):
The Common Language Runtime (CLR) is the virtual machine component of Microsoft's .NET framework and is responsible for managing the execution of .NET programs. In a process known as just-in-time compilation, the compiled code is converted into machine instructions that, in turn, are executed by the computer's CPU. The CLR provides additional services including memory managementtype safety and exception handling. All programs written for the .NET framework, regardless of programming language, are executed by the CLR. It provides exception handling, garbage collection and thread management. CLR is common to all versions of the .NET framework.
66.Tile:
Tiles are nothing but linking the application to home screen with updated status.Here two types of tiles
·         Application Tile: This type is used when application is pinned to start screen by the user can easily accessing application icon from app list. So that click on icon will direly navigated to app.
·         Secondary Tile: This type of tiles are created programmatically by user interaction. This type of tiles are used to navigate to application And are created only once. We need to use Create(Uri,ShellData) method to create secondary tile.
66. Application Bar :
The default Application Bar is a row of icon buttons and an ellipsis along the bottom of the phone’s screen. The user can click the ellipsis to display the labels for the icon buttons and menu items if they are enabled. The Application Bar has built-in animation that is displayed as the menu is shown or hidden. Also, the Application Bar automatically adjusts when the phone changes orientation. When the phone is in landscape orientation, the Application Bar appears on the side of the screen vertically. This maximizes the remaining space for page content.
66. Menu :
 The Menu control presents a list of items that specify commands or options for an application. Typically, clicking an item on a menu opens a submenu or causes an application to carry out a command. Menu is an ItemsControl, which means it can contain a collection of objects of any type (such as string, image, or panel).
67. Portable Class :
Portable Class Libraries have been available since .NET Framework 4. You can use them to create portable assemblies that can target multiple platforms, including Windows 7, Windows 8, Windows Phone, Silverlight, and Xbox 360


1 :: Tell me about the Windows Phone?

Windows Phone (known as WP) is a proprietary smartphone operating system developed by Microsoft. It is the successor to Windows Mobile, although it is incompatible with the earlier platform. With Windows Phone, Microsoft created a new user interface, featuring a design language named "Modern" (which was formerly known as "Metro"). Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market. It was first launched in October 2010 with Windows Phone 7.

2 :: Tell me about Windows Phone User interface?

Windows Phone features a user interface based on Microsoft's Windows Phone design system, codenamed Metro, and was inspired by the user interface in the Zune HD. The home screen, called the "Start screen", is made up of "Live Tiles", which have been the inspiration for the Windows 8 live tiles. Tiles are links to applications, features, functions and individual items (such as contacts, web pages, applications or media items). Users can add, rearrange, or remove tiles. Tiles are dynamic and update in real time � for example, the tile for an email account would display the number of unread messages or a tile could display a live update of the weather. Since Windows Phone 8, live tiles can also be resized to either a small, medium, or large appearance.

3 :: Tell us about Windows Phone Web browser?

Internet Explorer on Windows Phone allows the user to maintain a list of favorite web pages and tiles linking to web pages on the Start screen. The browser supports up to 6 tabs, which can all load in parallel. Other features include multi-touch gestures, smooth zoom in/out animations, the ability to save pictures that are on web pages, share web pages via email, and support for inline search which allows the user to search for a word or phrase in a web page by typing it. Tabs are synced with Windows 8.1 devices using Internet Explorer 11.

4 :: What do you know about Windows Phone Media support?

Windows Phone supports WAV, MP3, WMA, AMR, AAC/MP4/M4A/M4B and 3GP/3G2 standards. The video file formats supported on WP include WMV, AVI, MP4/M4V, 3GP/3G2 and MOV (QuickTime) standards. These supported audio and video formats would be dependent on the codecs contained inside them. It has also been previously reported that the DivX and Xvid codecs within the AVI file format are also playable on WP devices.

5 :: Explain Windows Phone Multitasking?

Multitasking in Windows Phone is invoked through long pressing the "back" arrow, which is present on all Windows Phones. Windows Phone 7 uses a card-based task switcher, whereas later versions of Windows Phone utilize true background multitasking.

6 :: Tell me about Windows Phone Bluetooth?

Windows Phone supports the following Bluetooth profiles:

Advanced Audio Distribution Profile (A2DP 1.2)
Audio/Video Remote Control Profile (AVRCP 1.3)
Hands Free Profile (HFP 1.5)
Headset Profile (HSP 1.1)
Phone Book Access Profile (PBAP 1.1)
Bluetooth File Transfer (OBEX) (from Windows Phone 7.8)

Windows Phone BTF support is available from Windows Phone 7.8, but is limited to the transferring of pictures, music and videos via a 'Bluetooth Share' app.

7 :: Explain Windows Phone Hardware?

Windows Phone 7 devices were first produced by Dell, HTC, LG and Samsung. These hardware partners were later joined by Acer, Alcatel, Fujitsu, Toshiba, Nokia, and Chinese OEM ZTE.

Windows Phone 8 devices are currently being produced by HTC, Huawei, Nokia, and Samsung.

At the 2014 Mobile World Congress, Microsoft announced that upcoming Windows Phone 8.1 devices will be manufactured by Gionee, HTC, Huawei, JSR, Karbonn, LG, Lenovo, Longcheer, Micromax, Nokia, Samsung, Xolo, and ZTE. Sony (under the Xperia or Vaio brand) has also stated its intention to produce Windows Phone devices in the near future.

8 :: Can we control the WebBrowser controls zooom?

No. There is no programatic way to zoom the control. You should include a viewport meta tag to set the initial scale level.

9 :: How to restart or shutdown my application programmatically?

There is no API to do this. Hitting �back� when there is only one page left on the stack is the way to exit the application. Hitting Start button does not exit, just pauses it

10 :: How to detect if my application is exiting so I can save state?

You can listen to Application.Exit, but this might be too late most of the time. You should listen for the Pause event and save your state there.

11 :: How to pin an app on the emulator?

You simply run the application once to deploy it, and then browse to the application list, and click and hold the application icon, you will then get a context menu with the option to pin.

12 :: The MarketPlace Launchers overloads for Show has parameters, what are these?

I assume you are asking about the Context

? In case of Open operation, there is no context.
? In case of Search operation, it is the search Term
? In case of Review operation, no need to pass context. It defaults to the current application�s product id
? In case of Details operation, if you pass null it means current product id, else you can pass some other product id

13 :: Tell me Will TextTrimming property be available on TextBlock?

No. You have to hack it up with your own measure.

14 :: Suppose I am hitting System.InvalidOperationException in the Navigate method of the WebBrowserControl. What gives?

Don't call the navigate method from your PhoneApplication Page's constructor. you should wait until control is loaded before you Navigate.

15 :: Do you know will Microsoft ship a panorama control with the run-time?

We are still investigating. We would love to do it, but are constrained on time. Stay tuned.

16 :: Explain I am getting too many MouseLeaves on my custom control.?

As far as the emulator is concerned, there is no mouse; everything comes in as a touch event and when the �finger� comes up, the mouse has left the scene, since there�s no reasonable location for it to be at.

17 :: Tell me is it temporary that the control styles are included in App.xaml?

Yes. In the final product a master 'generic.xaml' will be injected into your application. This injected dictionary will be based on the theme selected when your app is started. Dictionary is injected every time your app starts.

18 :: I see applications using listbox that show scrollbar only on while scrolling. How can I detect that I am scrolling?

Microsoft hopes the templates in a future build will have this Scrolling and NotScrolling VisualStates.

19 :: How to dismiss the SIP programmatically?

Set the Focus() to some other UIElement that is focusable

20 :: How to detect the resolution of my device?

(App.Current.RootVisual as FrameworkElement).ActualHeight and (App.Current.RootVisual as FrameworkElement).ActualWidth gives you device's resolution
If you want to know the visible size (taking AppBar / SystemTray into account) then just ask for it off the page instead.

21 :: Tell me what happened to TopLevelNavigationService, it is not there on April CTP Refresh?

It has been removed. You can access the navigation service from any of your current page instances or, use the Navigate method on PhoneApplicationFrame (your RootVisual).

22 :: Can not find PhoneApplicationPage.FullScreen in April CTP?

SystemTray is an attachable property now. You can use it in your page xaml, something like:
<navigation:PhoneApplicationPage x:Class="WindowsPhone.Hello"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone.Controls.Navigation"
shell:SystemTray.IsVisible="true">

23 :: How to save Silverlight UIElements into an image?

In a later preview, before RTT, WriteableBitmap will have a method to save as JPEG

24 :: How to save screen from an XNA app?

Texture2D has a SaveAsJpeg method and a SaveAsPng method. Be aware that Zune does not sync pngs, so saveasjpeg is recommended
In April's CTP, you could try:
MediaLibrary library = new MediaLibrary(); library.SavePicture(�My Picture�, streamToJpegData); // You can use this from inside a Silverlight app provided you have the ID_CAP_MEDIALIB capability. // You do have to make sure the Stream you pass in contains JPEG file data, but otherwise it should work for you.

25 :: How to get the geolocation data on a picture?

For v1, we don't have an API to do this

26 :: Tell me What are the supported codecs for video?

Supported Codecs and container formats are listed in MSDN documentation: http://msdn.microsoft.com/en-us/library/ff462087(VS.92).aspx Note: The Device Emulator does not have hardware decoders so the codec support on the device emulator is much less than what is listed. For Emulator you only have WMA, WMV, and VC1 software decoders.

27 :: What is Send to AP and who gets it?

Send to AP is the Associated Press� way of extending the journalism floor to its users. Users can send in news tips and photos directly to AP editors via the Send to AP option under Settings. User information is solely used for the purpose of contacting the user to verify the tip or to gather more information.

28 :: How to change language settings?

1. Go to the Settings button on your device
2. Select General
3. Select International
4. Choose the desired language

29 :: How to enable/disable alerts?

Users currently do not have the ability to disable notifications.

30 :: Tell me can I get weather for my location?

Windows Phone 7 supports international locations, which a user can search for by inputting the city name.

31 :: How to edit location for weather?

Users can customize Weather under Settings. Locations for Local News and Weather are handled separately. Windows Phone 7 supports international locations.

32 :: Tell me can I turn off some of my local papers?

The current version does not allow users to filter local publication.

33 :: How to edit locations for local?

Users can customize Local under Settings.

34 :: How to send suggestions on how to better the app to the AP?

Users can send feature requests and feedback to the AP via the Feature Request option in the application. Users can find the feedback options under Settings.

35 :: What content can I share/save?

a. Users can share content with their friends via the share feature available on every story and photo.
b. Users can save articles, photos and videos to the Saved folder in AP Mobile. The saved folder is on the fourth panel of the first screen

36 :: Tell me can I turn article photos off?

Users can disable article photos from the Photos option under Settings.

37 :: Tell me can I reorder the tabs?

The current version does not allow users to reorder tabs.

38 :: How to customize Front Page?

Users can find the Customize option under Settings on the first screen.

39 :: What is the Windows Phone Front Page?

Users can add and order as many categories as they want and two headlines for each category will be displayed on the Front Page.

40 :: I looked through the MediaLibrary class in XNA, and it looks like we can only enumerate through audio, but not video content in the media library?

That is correct � you can enumerate audio and photos but not video.

41 :: Suppose Tried two separate web cams in the emulator and both give COM errors, any clue on getting this to work?

Camera is not supported on the emulator

42 :: Is .bmp format supported?

No. Only jpg and png are supported.

43 :: How to play video in IsolatedStorage using MediaElement?

For April CTP and earlier builds there is a bug that will prevent you from doing it. Stay tuned for later build. Interim you can play media from network or from your content in the app.

44 :: How to play two MediaElements at once?

No. To ensure high quality playback we limit it to one at a time

45 :: Some images look different when synced to the device and read programmaticaly. do decoders change these?

No. decoders and apps show them as they are. Zune software does resize them when syncing them, that might be the cause for your differences


46 :: How the volume work between apps and hardware buttons on the device?

Applications get to control the volume for their streams but the hardkeys control the final master output level.

47 :: Tell me where is HttpUtility class, since there is no System.Windows.Browser namespace?

HttpUtility is in System.Net namespace You can also find alternatives for escaping strings at Uri.EscapeDataString and Uri.unescapeDataString ..

48 :: Tell me can I open sockets in windows phone?

Not for this v1 release.

49 :: Suppose my site is down, and async calls are taking too long to timeout. How can I set a reasonable timeout?

Per MSDN docs, you should call Abort() on your request when you feel iti s appropriate timeout

50 :: Tell me are there APIs to read RSS/ATOM feeds?

You could use System.ServiceModel.Syndication from the desktop since it dependencies are entirely present in CF

51 :: Tell me can I write multi-player games using wi-fi or blue tooth in the device.?

Not in this v1 release.

52 :: How to sniff network traffic from the emulator?

Netmon 3.4 (beta) defintitely works. Fiddler works too. If using fiddler, remember to switch it to either trap �non-browser� or �all� traffic and start fiddler before launching the emulator.

53 :: Tell me is WCF supported in Windows Phone?

WCF is supported on WP7. When you look at the SL3 version of WCF, WP7 supports that except for the following:

? PollingDuplex support
? Runtime code generation support for ChannelFactory.CreateChannel APIs
? Astoria/Azure support

54 :: Tell me is asp.net forms authentication supported?

Yes, it should work.

55 :: Explain does the web browser control share the IE cache?

No. Each app has its own wininet cache. The webbrowser control instances in your app will use that app�s cache. The IE cache will be separate

56 :: How to identify a device or a user?

Use Microsoft.Phone.Info.UserExtendedProperties.GetValue(�ANID�) in Microsoft.Phone.Info.dll. This is not in the MIX build. How unique is this Id? It identifies the user; so you could have a user with two phones. This is persisted across reboots, but not across factory reset (unless you reconfigure for same user).

57 :: Tell me is there a way to detect if application is idle?

No. You have to do that yourself. yourself (you could subscribe to ManipulationStarted on the root frame with handled=true and then use a simple timer).

58 :: Tell me is there any internal page notification that it receives to detect a phone call?

Not in v1.

59 :: Explain where is XmlDocument class?

Instead of XmlDocument, use XDocument from System.Xml.Linq.dll

60 :: Can we intercept the search button to do an app specific search?

Not in v1.

61 :: On April CTP refresh, Splashscreen appears for 3 seconds and disappears (even if my page is not fully loaded)?

This is a known issue in April CTP. Should be fixed in later builds

62 :: Suppose I am trying to receive toast notifications in emulator app. I got everything setup but notification does not show up in emulator at all?

Make sure you have a product / publisher name set in the manifest.
Open WindowsPhonepmanifest.xml, under Properties. Edit Publisher="" to Publisher="something". Redeploy.

63 :: How to access the LiveId credentials a user has entered into the device?

In this release, the credentials are not available to third party apps. You will need to prompt the user for credentials and manage these within your app.

64 :: Tell me is SecureString supported in windows phone?

No. Securestring is not in Silverlight.

65 :: How to deserialize JSON from a rest call?

Use DataContractJsonSerializer. it is in System.Servicemodel.Web

66 :: How to manage my Isolated Storage quota?

You don't have to. There is no limit

67 :: What happens to IsolatedStorage when app is uninstalled?

It gets deleted. Content saved to media libary is not deleted on Uninstall

68 :: Tell me where is the best recommended place to store both static and user-specified configuration information?

You can use the IsolatedStorageSettings.ApplicationSettings.

69 :: Tell me is there an API for retrieving information on the files located in the store? I am looking to check when it was last written?

Try IsolatedStorage.GetLastWriteTime

70 :: Tell me in my code the method marked by [OnDeserialized] is never called after deserialization. Is this a known issue?

The following conditions should be met for a valid OnDeserialized callback.

1. The accessibility of the method should be public. It can also be internal with InternalsVisibleTo provided to the System.Runtime.Serialization assembly.
2. Return type should be void.
3. There should be exactly one parameter which should be of the type StreamingContext.
4. There should be only one of the four callbacks provided on the method.

71 :: Can you please explain the best way to detect that I am in design-mode in Expression Blend or Visual Studio?

DesignerProperties.IsIndesignTool

72 :: Tell me is there a way to know if my code is running on emulator or device?

Check System.Environment.DeviceType

73 :: in the emulator, NetworkInterface.GetIsNetworkAvailable() always return false?

This is a known bug in MIX CTP and April refresh. Sorry! It will be addressed in next build

74 :: Suppose I have lost one of the application templates in Visual Studio 2010. It�s available in the file system but not in Visual Studio� Any ideas?

Try running Devenv /setup.
Running devenv /installvstemplate might also work; but that is going to slow down overall VS performance. The /installvstemplate is a development only option that makes it easy for developer to test their templates. This shouldn�t be used on end user machines. Devenv /setup does a lot of more processing and caching to speed up VS performance.

75 :: Tell me is it possible to run two instances of emulator on the same machine. I am doing some networking app and need two emulators to test it?

You can not launch two instances from the Phone tools. You can launch a second instance from command line.
c:\Program Files (x86)\Microsoft XDE\1.0\XDE.exe" "C:\Program Files (x86)\Microsoft SDKs\WindowsPhone\v7.0\Emulation\Images\WM70C1.bin"

76 :: Suppose Have a very simple application that uses the APplicationBar. The app bar shows one menu item when in portrait. However as the second image shows the app bar displays now items in landscape mode. Is that by design or a bug?

Yes, it�s a known problem in the emulator on machines that don�t support the hardware accelerated graphics in the emulator. It works properly on devices and machines that do

77 :: Tell me are there canned MVVM "Data Behaviors" planned for WP7?

Not at this time. The behaviors have dependencies in Silverlight 4.

78 :: Tell me is it possible to use Custom Pixel Shader in XNA?

From Shawn Hargreaves blog For this release, there are no programmable shaders: �Instead of programmable shaders, we augmented the existing BasicEffect with four new configurable effects: SkinnedEffect, EnvironmentMapEffect, DualTextureEffect, and AlphaTestEffect. These are designed to run efficiently on the mobile GPU hardware, and I think do a good job of providing enough flexibility for developers to create awesome looking games, while also meeting our goals of being able to ship a robust and well tested product on schedule.�

79 :: Suppose when I deployed my XNA app to the xDE, the orientation is in portrait mode, but when I deploy it to a device, it�s in landscape mode.?

The XNA Framework defaults to landscape mode for Windows Phone games, but XDE doesn�t yet support XNA in landscape mode, so portrait mode is the only option there for now. You can set your orientation preferences by using GraphicsDeviceManager settings (SupportedOrientations, PreferredBackBufferHeight, PreferredBackBufferWidth, etc.

80 :: Explain starting with April CTP Refresh, I can compile and debug my XNA game, but it does not show up in list of applications when I am not launching it on the debugger?

The games are installed in games hub, which you can't see in the currently slimmed image. Change the Genre attribute in the App element in WindowsPhoneManifest.xml from App.Games to NormalApp
<App xmlns="" ... RuntimeType="XNA" Version="1.0.0.0" Genre="NormalApp" >

81 :: How to show the SIP keyboard in xna app?

This is not in the CTP, but will be in later builds: Guide.BeginShowKeyboardInput
82 :: Suppose I am trying to detect if an external headset is attached to the phone,can I use Microsoft.Xna.Framework.Audio.Microphone.IsHeadset?

No. this property is true all the time for the phone