1. What is WPF?
WPF is the latest presentation API
by Microsoft Windows. It is 2D and 3D graphic engine. Its capabilities
include:-
·
All the
common user controls. For example, check boxes, buttons, sliders etc.
·
Supports
flow and fix format documents
·
all the
functionality of Flash and HTML
·
Data
binding
·
Multimedia
·
Animation
2. What are the types of documents supported by
WPF?
Two types of the documents supported
by Windows Presentation Foundation (WPF) are the Flow format and fixed Format
document. Flow format document alters the content to fit the screen size while
fixed format document present content irrespective of the screen size.
3. Name the namespace required for working with 3D.
The namespace required for working
in 3D is System.Windows.Media.Medi3D.
4. Is it right to say that WPF has replaced
DirectX?
No, WPF can never replace DirectX.
WPF cannot be used to create games with stunning graphics. WPF is meant to be a
replacement for windows form, not DirectX.
5. What are dependency properties?
Properties that belong to a specific
class but can be used for another are called the dependency properties.
6. How can the size of StatusBar be increased
proportionally?
By overruling the ItemsPanel
attribute of StatusBar with a grid. The grid’s columns can be appropriately
configured to get the desired result.
7. What are Freezable objects in WPF?
An object, which has its state
locked down, so that it becomes unchangeable, is known as a freezable object.
Such objects perform better. It is also safer if they are required to be shared
between threads.
8. Why should WPF be preferred over Adobe Flash?
WPF is a more recent technology and
thus has the latest development tools. It supports a broader range of
programming languages and has a robust control reuse.
9. How is Silverlight different from WPF browser
application?
One of the major differences is that
.NET framework is required for running WPF browser applications on the client
machine. But Silverlight runs using only the plug-in. Another point of
difference is that applications made in WPF depend on the OS as .NET Framework
only runs on Windows. On the other hand, the Silverlight plug-in can be
installed on those OSs also, which are not Windows.
10. Name the methods present in the
DependencyObject.
It has three objects, namely:
·
SetValue
·
ClearValue
·
GetValue
11. Write about PRISM.
PRISM is a framework for creating
complex applications for WPF, Silverlight or Windows Phone. PRISM utilizes
MVVM, IC, Command Patterns, DI and Separation of Concerns to get loose
coupling.
12. Is it possible to use Windows Forms in a WPF
application?
Yes, Windows form can be used in
WPF. Windows form can appear as a WPF pop. The controls of this Window form can
be placed besides WPF controls in a WPF page by utilizing the functions of the
WindowsFormsHost control that comes preinstalled.
13. Describe CustomControl briefly.
CustomControl widens the functions
of existing controls. It consists of a default style in Themes/Generic.xaml and
a code file. It is the best way to make a control library and can also be
styled or templated.
14. Name the common assemblies used in WPF?
·
PresentationFoundation
·
WindowsBase
·
PresentaionCore
15. Define Path animations in WPF
Path animation is a type of
animation in which the animated object follows a path set by the Path geometry.
16. Can WPF applications be made without XAML?
Yes WPF applications can be created
without XAML as using XAML in WPF is a matter of choice.
17. What are the types of windows in WPF?
WPF has three types of windows:
·
Normal
Window
·
Page
Window
·
Navigate
Window
18. How can elements in a ListBox be sorted?
Sorting can be done by using a
property of the ItemsCollection object. ItemsCollection contains an attribute,
SortDescriptions, which holds System.ComponentModel.SortDescription instances.
Every SortDescription instance defines how the elements should be sorted and
indicates if the sort is descending or ascending.
For instance, this code sorts
elements of ContentControl on the basis of their word count property:
myItemsControl.Items.SortDescriptions.Add(new
SortDescription(“WordCount”, ListSortDirection.Descending));
19. How is MVVM different from MVC?
MVC stands for Model-View Controller
and.MVVM stands for Model-View ViewModel.
In MVVM, View Model is used instead
of a controller. This View Model is present beneath the UI layer. It reveals
the command objects and data that the view requires. It acts like a container
object from which view gets its actions and data.
20. Explain Routed events in WPF.
An event, which can invoke handlers
on more than one listeners present in an element tree, instead of the single
object which called the event, is known as a Routed event.
21. How is System.Windows.Media.Visual dll utilized
in WPF?
It is used whenever a requirement
for creating custom user interface arises. It is a drawing object, which gives
instructions for making an object. These instructions include opacity etc. of
the drawing. The Visual class also bridges the functionalities of WPF managed
classes and the MilCore.dll.
22. What are the various layout panels in WPF?
They are:
·
Stack
Panel
·
Grid
Panel
·
Canvas
Panel
·
Dock
Panel
·
Wrap
Panel
23. Name the important subsystems in WPF
The major subsystems are:
·
Windows.Controls.Control
·
Windows.DependancyObject
·
Windows.FrameworkElement
·
Windows.Media.Visuals
·
Object
·
Threading.DispatcherObject
·
Windows.UIElements
24. What does BAML mean in WPF?
BAML is the abbreviation for Binary
Application Markup Language. It is nothing but XAML that has been tokenized,
parsed and changed into binary form. BAML is a compressed declarative language,
which gets loaded and parsed quicker than XAML.
25. What is Difference between Page and
Window Controls in WPF?
The basic difference is that Window
Control presides over Windows Application while Page Control presides over the
hosted Browser Applications. Also, Window control may contain Page Control, but
the reverse cannot happen.
26. What are Attached Properties
in WPF?
Attached properties are basically
Dependency Properties that allows the attachment of a value to any random
object.
27. What is the
INotifyPropertyChanged Interface?
The InotifyPropertyChanged notifies
clients, generally those who are binding, if the value of a property gets
changed. It has an event, called PropertyChanged, which gets raised everytime a
property of Model object is changed.
28. What is the basic difference
between Events and Commands in the MVVM Model?
Commands are more powerful and are
advantageous to use instead of events. Actions are deeply connected with the
event’s source and, therefore, the events cannot be reused easily. But commands
make it possible to efficiently maintain multiple actions at one place and then
reuse them as per our requirement.
29. What is the method to force
close a ToolTip, which is currently visible?
It can be closed by setting the
tooltip’s IsOpen property to false.
30. Write the differences between
DynamicResource and StaticResource.
The most basic difference is that
StaticResource evaluates the resource one time only, but DynamicResource
evaluates it every time the resource is required. And due to this reason,
DyanamicResource is heavy on the system but it makes pages or windows load
faster
31. Explain MVVM pattern.
MVVM pattern divides the UI code
into 3 basic parts:
·
Model –
It represents a set of classes, which contain data received from databases.
·
View
– It is the code that agrees with the visual representation of the data.
·
ViewModel
– It is the layer that binds View and Model together. It presents this data in
a manner, which is easy to understand. It also controls how View interacts with
the application.
32. Why are layout panels needed
for in WPF?
Layout Panels are needed so that the
controls fit screens of different sizes or having different font sizes. If we
arrange controls on fixed pixel coordinates, then this model will fail when
moved to a different environment. For this reason, Layout panels are necessary.
33. Write about UserControl in
brief.
UserControl wraps existing controls
into a single reusable group. It contains a XAML file and a code. UserControl
cannot be styled or templated.
34. What is the way to determine
if a Freezable object is Frozen?
“IsFrozen” property of the object
can be used to determine if the freezable object is frozen.
35. What is the unit of
measurement in WPF?
All measurements are made in
device-independent pixels, or logical pixels. One pixel is 1/96th part of an
inch. These logical pixels are always mentioned as double, this enables them to
have a fractional value too.
36. What is an adorner?
They are a special kind of
FrameworkElement that provide visual clues to the user. They are also used to
add handles to elements and give information about the state of a control.
Adorners are bound to the UIElement and are rendered on a surface that lies
above the element, which is adorned. This surface is called an AdornerLayer.
Adorners are mostly placed relatively to the bounded element.
37. Explain Serialization?
It is the process of converting the
state of an object to stream of bytes.
38. Is MDI supported in WPF?
MDI is not supported in WPF.
UserControl can be used to give the same functionality as MDI.
39. What is XBAP?
XBAP is the abbreviated form of XAML
Browser Application. It allows WPF applications to run inside web browsers.
Installation of .NET framework on the client machine is a prerequisite for
running WPF applications. But hosted applications are not given full admission
to the client’s machine and are executed in a sandbox environment. Using WPF,
such applications can also be created, which run directly in the browser. These
applications are called XBAP.
40. In what sense are WPF and
Silverlight similar?
Silverlight and WPF are similar in
the sense that they both use XAML and share the same code, syntax and
libraries.
41. How to make a ToolTip appear
while hovering over a disabled element?
For this purpose, the ShowOnDisabled
property can be used. It belongs to the ToolTipService class.
42. How can ListBox be made to
scroll smoothly?
ListBox is configured to scroll on
an item-by-item basis by default. This is dependent on the height of each
element and the scrolling action, thus, giving a rough feeling. Better way is
to configure scrolling action so that it shifts items by a few pixels
irrespective of their height. This is done by setting the ScrollViewer.CanContentScroll
property to “false”. This will, however, make the ListBox lose the
virtualization property.
43. Where does the execution
start in a WPF application?
WPF applications created in Visual
Studio run without a Main method. This is because the applications are
special-cased when they are compiled from XAML. That means, Visual Studio
attaches a Build Action of ApplicationDefinition to the XAML file. This results
in the auto generation of a Main method.
44. Can Windows Service be created
Using WPF?
No, Windows Services cannot be
created using WPF. WPF is a presentation language. Windows services need
specific permissions to execute some GUI related functions. Therefore, if it
does not get the required permissions, it gives errors.
45. What are the different kinds
of Routed events in WPF?
There are three types of Routed
events in WPF. They are:
·
Direct –
This event can only be raised by the element in which it was originated.
·
Tunneling
– This event is first raised by the element in which it was originated and then
it gets raised by each consecutive container in the visual tree.
·
Bubbling
– This event is first raised by the uppermost container in the visual tree and
then gets raised by each consecutive container lying below the uppermost one,
till it reaches the element it where it was originated.
46. Why is it better to wrap
items in ComboBoxItem?
It has some important properties
like IsSelected and IsHighlighted and also some necessary events like Selected
and Unselected. ComboBoxItem is a content control and is thus very useful for
adding simple strings to a ComboBox.
47. How to get Automation
IDs of items in a ItemsControl?
The best way to do this is by
setting it Name property as it is utilized for automation purposes by default.
But if you require to give an ID to an element, other than it’s name, then the
AutomationProperties.AutomationID property can be set as per need.
48. How can command-line
arguments be retrieved in a WPF application?
The most preferred method for this
is to call System.Environment.GetCommandLineArgs at any random point in the
application.
49. State the name of the
classes, which contain arbitrary content.
Content Control
HeaderedContent Control
Items Control
HeaderedItems Control
50. Which NameSpace has ‘Popup’
and ‘Thumb’ controls?
The namespace system.windows.controls.primitives
has ‘Popup’ and ‘Thumb’ controls.
No comments:
Post a Comment
Comment Here