In this chapter we will first discuss on how to create a new Silverlight project and the structure of it. Later in this chapter we will discuss on UserControls and various ways of development. After reading this chapter you will be able to create a HelloSilverlight application and UserControls for your application.
In this chapter we will first discuss on how to create a new Silverlight project and the structure of it. Later in this chapter we will discuss on UserControls and various ways of development. After reading this chapter you will be able to create a HelloSilverlight application and UserControls for your application.
Please don't forget to provide your comments or suggestions.
In this chapter of the tutorial, you will learn about the very basic information on Silverlight i.e. what is Silverlight, what is the System Requirements for installing Silverlight and the pre-requisite to create a Silverlight application. After reading this chapter you will come to know about XAML, XAP file, Application XAML and how to host a Silverlight application.
There he will provide updates on the progress made in Silverlight 4 and will provide the details of availability of the developer tools, runtime and other news. After the live event Channel 9 will be hosting interviews with Scott and other key members of the Silverlight and Expression teams. Don't miss the opportunity to see it online.
Dear Kunal,This is the consecutive second day of the month when I received such Award. Giving my thanks herewith to the DotNetSpark team for the honour given to me. Thank you.
Congratulations!! You are our monthly Winners for the month of March, 2010!!!
www.DotNetSpark.com proudly announces you as the monthly winner(March, 2010) for your sincere and tremendous contributions at www.dotnetspark.com.
I am very thankful to all who encouraged me to write articles. Also, I will give a lots of thanks to the team who selected me as the Winner. Thank you DotNetFunda.
As you all know that, the Out-Of-Browser (OOB) functionality in Silverlight is not a new feature. It is available since Silverlight 3. Microsoft added the trusted application behaviour in Silverlight 4 Beta. In addition to this, they introduced one more additional functionality called “Chromeless OOB WIndow” i.e. “Customized OOB Window” in Silverlight 4 RC (Release Candidate). In this article, I will guide you to create a simple customized OOB Window Application in Silverlight 4 RC. After the end of this tutorial, you will be able to create a Customized OOB Window in Silverlight 4 which will look similar to this. | |
Read the Complete Article @ DotNetFunda.com |
Today morning I came across one news that, one of my another article on “Tips & Tricks: Customizing Visual Studio 2010 Start Page” came as “Articles of the Day” in Microsoft’s official WPF site: WindowsClient.net. I am really thankful to the entire team who gave my articles such honour. | |
Read the Original Article @ DotNetSpark.com. |
One of my other article “What’s New in Visual Studio 2010” came as “Articles of the Day” in Microsoft’s official WPF site: WindowsClient.net. I am really thankful to the team who are choosing my articles to publish in various forums. This time by DotNetSpark team.
Read the Original Article @ DotNetSpark.com
Silverlight 4 now supports printing functionality using the Printing APIs. Using the APIs, you can now print your whole application screen or a portion of the application. Also, you can customize the look while you printing your part/full application.
In this post, I will step you guys to the depth of the printing API. Don’t forget to share your thoughts. Suggestions are always welcome. This will help me to improve my articles.
It’s another great day when one of my other article on “Windows 7 Multi-touch Application Development” has been selected in Microsoft official WPF site: WindowsClient.net. It’s a great pleasure for me. Thanks to DotNetFunda Team for the honour.
Read the Original Article @ DotNetFunda.com
Microsoft has just released the Silverlight 4 RC with several changes in the Silverlight runtime & in the Silverlight tools. Though there are couple of changes since Silverlight 3 & since Silverlight 4 Beta but it supports most of the Silverlight 3 applications by using Quirks mode. In some cases your earlier application will break or behave differently.
In this post I will describe you both the breaking changes in Silverlight 4 since Silverlight 3 & Silverlight 4 Beta. But before going to the discussion on the breaking changes, let me tell you what is Quirks mode. Quirks mode is a behaviour by which your previous application will work on the new runtime. Simple example is that, if you have Silverlight 3 compiled application it will try to run in Silverlight 4 (some cases it will fail) using quirks mode but if you compile the same application in Silverlight 4 it will not use the quirks mode and through errors on the changes.
What’s new in Silverlight 4:
- XAP Signing
- Custom Chrome Window
- WebCam/Mic Configuration Preview
- Text position and Selection API
- Pinned full screen mode on secondary display
- Support for Private Browsing
- RichTextBox XAML clipboard format
- Elevated apps doesn’t have Sockets Security Restrictions
- Support for querying printer page size and printable area
- XmlnsPrefix & XmlnsDefinition attributes has been added
Breaking Changes since Silverlight 3:
So, lets start with describing the breaking changes in Silverlight 4 since Silverlight 3.
- Mouse Wheel Support - Silverlight 4 controls (ListBox, TextBox, ComboBox, ScrollViewer, Calendar, DatePicker, DataGrid) now have support for Mouse Wheel.
- Shared BitmapImage Source – Now Silverlight 4 will render the images properly if more than one Image controls are sharing the same BitmapImage source.
- ImageBrush.ImageSource returns ImageSource – ImageBrush.ImageSource in Silverlight 4 now returns ImageSource instead of UriSource which could be WritableBitmap or BitmapImage.
- Keyboard Navigation in TabControl – Keyboard navigation in TabControl was a feature in Silverlight 3 having an issue with the TabItem activation. Previously pressing Up Arrow activated the next TabItem and pressing Down Arrow activated the previous TabItem. In this release they fixed it to properly activate the TabItem. In Silverlight 4 if you press Up Arrow it will activate the previous TabItem & pressing Down Arrow will activate the next TabItem.
- Automation focus in DataGridCell - DataGridCell now receives automation focus when currency changes in the DataGrid, rather than focusing on the other part of the DataGrid.
- Hit Test while Toggling Full Screen Mode – While toggling full screen mode Silverlight 4 will now rerun hit testing. This allows controls that were under the mouse before toggling to update the MoouseEnter state if necessary.
- Whitespace handling with Span tag – TextBlock and RichTextArea now accepts text content & creates implicit runs generating whitespaces between inlines separated by CRLF.
- DisplayMemberPath & ItemTemplate recreates all containers – Silverlight 4 now recreates all containers by invalidating them while there is any change in DisplayMemberPath or in ItemTemplate properties of the ItemControl.
- New XAML Parser – Silverlight 4 now includes all new XAML Parser along with the previous XAML Parser. As per the runtime version detected in the application manifest it will parse the XAML in the appropriate parser. Apart from that, it has now additional benefits like “Better XAML compatibility”, “Greater parsing correctness & consistency”, “Better feedback error mechanism”, “Performance improvement”.
- Panels Clear() method calls InvalidateMeasure – If you call the Clear() method of the Silverlight 4 panel it will now explicitly call InvalidateMeasure.
- Virtualizing Stack Panel now scrolls by 3 lines – Mouse Wheel scroll in Silverlight 4’s Virtualizing Stack Panel will scroll by three (3) lines instead of one (1) line.
Breaking Changes since Silverlight 4 Beta:
If you were exploring Silverlight 4 Beta this section will be most important for you. There are some changes in both the runtime & tool since the beta release. So before starting with that please read the same carefully.
- Removed TextSelection.CanInsert – TextSelection.CanInsert is now no longer available in Silverlight 4.
- RichTextArea changed to RichTextBox – RichTextArea now renamed to RichTextBox.
- RichTextBox.TextDecorations no longer exists – RichTextBox.TextDecoration is not available now. Instead of it you can use Inline.TextDecorations.
- Default value to RichTextBox.TextWrapping – Silverlight 4 now has a default value of RichTextBox.TextWrapping to Wrap. If you don’t want to wrap your content you have to explicitly set it to NoWrap.
- HtmlBrush renamed to WebBrowserBrush – In Silverlight 4 HtmlBrush now renamed to WebBrowserBrush.
- COM Interoperability – COM Interoperability types are now moved to System.Runtime.InteropServices instead of System.Windows.Interop namespace.
- WebCam/Output Protection Support – There has been a huge changes in the webcam/output protection support:
- CanEnableHDCP renamed to CanEnableHdcp
- CanEnableCGMSA renamed to CanEnableCgmsa
- VGA, DVI, HDMI, LVDS, SDI, UDIExternal, UDIInternal also renamed to similar naming convention
- VideoFormat.Height and VideoFormat.Width renamed to VideoFormat.PixelHeight and VideoFormat.PixelWidth respectively
- AsyncCaptureImage call now changed to CaptureImageAsync
- NotificationWindow – NotificationWindow.Visible property has been changed to NotificationWindow.Visibility
Today morning when I checked my mail, I saw one mail regarding “Article of the day” from DotNetFunda.com mentioning one of my article titled “Windows 7 Multitouch Application Development (Part – I)” has been selected as “Article of the day” in Microsoft WPF site WindowsClient.Net.
Thank you DotNetFunda team.
Multi-targeting Application Development:
Using Visual Studio 2010 you can not only develop applications for the .Net 4.0 but also can use it for the development of earlier versions of the framework. While creating a new project in the IDE you will see the option to select between different types of .Net Framework (i.e. 2.0, 3.0, 3.5 & 4.0).
Depending upon your choice it will filter the project templates in the New Project dialog. If you select “.Net Framework 4.0” it will show all the project types but if you select “.Net Framework 2.0” it will only show the projects supported by .Net Framework 2.0.
Not only this, as Visual Studio 2010 builds on top of Windows Presentation Foundation (WPF), you will find it more useful while searching for a specific project type. Suppose, you want to develop an application for your client in WPF & you are finding it very difficult to search within a huge collection of project types. Don’t worry. There is a “Search Box” right to the dialog for you to help finding the same. Just enter the keyword (in this case “WPF”) & see the magic. While typing, it will auto filter based on the keyword you entered.
Faster Intellisense Support:
Visual Studio now came up with faster intellisense support. It is now 2-5 times faster than the earlier versions. The IDE will now filter your intellisense as you type. Suppose, you want to create an instance of “WeakReference” & due to the search algorithm of the VS2010 IDE, you don’t have to write the full word of the Class. Just type “WR” and it will automatically filter out that & show you “WeakReference” in the intellisense. Try it out.
Editor Zoom Functionality:
You will find this feature useful while you are showing some presentation or doing a webcast. Earlier VS2010 you have to open the options panel & then you have to change the font size of the editor, which was little bit troublesome. Now that issue is gone. You don’t have to follow where to go to change the text size. While inside the editor window, just press the control key (CTRL) and use your mouse wheel to increase/decrease the zoom level.
Faster Assembly loading in “Add Reference”:
In Visual Studio 2010 loading of assemblies in the “Add Reference” dialog is pretty fast. In earlier versions, it freezes the dialog for some time to load all the assemblies. In 2010 IDE, by default it focuses on the “Project” tab & in the background loads the other tabs. In case it is opening the dialog focusing on the “.Net” tab you will notice that instead of loading all the assemblies at a time, it loads those in a BackgroundThread. Thus improving the loading time a bit faster.
As you can see, I don’t have a class named “Person” in my project and hence it is marking it as UNKNOWN by highlighting it in Red. If you look into the first snapshot in depth you can find out that though the class is not present in my namespace or even in the project, it is creating the class reference in the intellisense. Great, right? Wait a minute. If you now place you cursor on top of “Person” and press F10 while holding down ALT+Shift, you will see a dropdown comes up in the screen with two menu item asking you to either generate the class for you or generate a new type.
Box Selection:
Here in the example, the public keywords of the properties has been marked using the Box Selector and when typing, it is actually changing in all the lines. Have a look into the second snap where I am typing “internal” to replace “public” and that’s populating in all the lines where I marked.
Easy Navigation:
IntelliTrace:
Microsoft has released two hot fixes till now for Visual Studio 2010 RC crash related to intellisense. The people who are currently using Visual Studio 2010 RC in a machine having UI Automation 3.0 APIs, touch screen, screen reader etc. have to download & install the following two HotFixes:
If you need any more information on the fixes then get it here at MSDN Blog.
In this post I will talk for one of the new feature in C# 4.0 – Named and Optional Parameter. Actually these are not a single feature but two different feature. You can get more benefit if you work with them together. So, what are those? Named parameter is a way to provide an parameter to the method using the name of the corresponding parameter instead of its position in the parameter list. Whereas, optional parameter allows you to omit arguments to member invocation.
- Sophisticated Authentication & Security (includes client certificates as credentials for web service call) - [Vote] – alexander.biskop
- More encryption algorithm - [Vote] – alexander.biskop
- More flexible way to do localization in DataForm/DataGrid - [Vote] – sladapter
- Application patching functionality - [Vote] – Haathen
- Better Local Messaging API - [Vote] – ksleung
- Better drawing API - [Vote] – ksleung
- Support for Report Viewer - [Vote] - mlonny
- Real time printing support - [Vote] – ksleung
- Support for iPod/iPhone - [Vote] - microsoft_kc
- Android support - [Vote] – ksleung
- Better 3D support like WPF - [Vote] - microsoft_kc
- An embedded database component like SQL-CE that can be used in OOB mode - [Vote] – Joeyw
- Better support for WritableBitmap - [Vote] – Joeyw
- Vector Printing - [Vote] – Joeyw
- Support for IObservable for databinding - [Vote] – Joeyw
- Rich Text Editor which allows Word Wrapping around images or other elements - [Vote] - Erwin Beckers
- BMP and GIF image support - [Vote] - Erwin Beckers
- More advanced controls like Outlook Agenda/Calendar control - [Vote] - Erwin Beckers
- Transparency Support in Out-Of-Browser Mode - [Vote] - microsoft_kc
- Improved SaveFileDialog with DefaultName option - [Vote] - Neha
- ChildWindow with NON-modal support - [Vote] - Amantha
- Flash video playback - [Vote] - Erwin Beckers
- A working webbrowser control in a non-out-of-browser scenario - [Vote] - Peter Gfader
- Support tooltip better for transparent, init delay, show delay, tiling image brush - [Vote] - Anonymous
Also, you can post them & vote in Silverlight Uservoice.
I think this is now-a-days a common issue for all the developers who are currently exploring both Visual Studio 2010 RC and Silverlight 4 Beta. Microsoft has removed the bits of Silverlight in the RC version of Visual Studio 2010. To work with that lots of people are now asking the same question.
Today I found a link which is written in a different version. I thought to share this thru my blog which may help the fellow developers (who are keeping a eye to my blog posts) to explore both simultaneously. Here is the original link of the post: http://sorokoletov.com/2010/02/hate-2-wait-silverlight-4-beta-2-vs-2010-rc/
Use the below link to translate it in English: http://tinyurl.com/SL4inVS2010RC-en
If you follow the steps provided in that blog post, you can install the Silverlight 4 Beta in your Visual Studio 2010 RC environment & start working on it till Microsoft releases the RC version of Silverlight. Go ahead and enjoy.
Remember: WCF RIA Services doesn’t work with this hack. I strongly recommend you to work with Visual Studio 2010 Beta 2 & Silverlight 4 Beta.
Do you know that you can easily customize the Visual Studio 2010 start page? Yes, this is true. This uses a XAML page which you can modify easily if you have a knowledge in XAML. Redesign your page with your brand & look, impress your users (mainly your team) with the new look.
Why should I do this:
Now before reading the steps question may arise in your mind “Why should I do this? I don’t care what the look is.” Yup, this is right but thing in some point of view where you want to show some sort of information/news tracker on the best coding practises your team should follow or you may want to show the pending tasks of the team in the start-up page or you may want to redesign that page with custom templates to meet your company brand or something else.
How can I do this:
How I can do this? First of all, go to your “My Documents\Visual Studio 2010\StartPages”. There you will find a project named “StartPage” with an additional XAML file named “StartPage.xaml”. This xaml page is your Start Page of the Visual Studio 2010. Remember that this is user specific file & have to deploy for all users.
Before doing anything take a backup of the same. Now open the StartPage project file which will load the xaml in your Visual Studio IDE. Modify it according to the look & feel you want. Save it & you will immediately see the effect in your startup page.
Not only this. You can also chose different XAML files for your Startup XAML page. Create a separate XAML file with your design in the same directory as mentioned above. Open your Visual Studio 2010. Go to Tools –> Options –> Environment –> Startup.
Select the “Custom Start Page” from the drop down that you have created. Hit “OK” to see it immediately in your start page. Remember that for security reason you can’t change the path as this executes under the trusted privileges of the user only & also uses some references to the Visual Studio UI assemblies.
Visual Studio 2010 RC has a “Go-Live” license, means you can develop softwares/applications using it & publish it. As you all know the features of Visual Studio 2010 in the Beta release, but I am again posting the link of Visual Studio RC features & walkthrough guide here so that it will be beneficial for the new users.
Go here & have a look into the Visual Studio 2010 RC features and walkthrough guide: http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx
One update regarding the RC release is it doesn’t support Silverlight 4 but you can load/create Silverlight 3 projects using that. According to Scott in his Blog Post: “Silverlight 3 projects are supported with today’s VS 2010 RC build – however Silverlight 4 projects are not yet supported. We will be adding VS 2010 RC support for SL4 with the next public Silverlight 4 drop. If you are doing active Silverlight 4 development today we recommend staying with the VS10 Beta 2 build for now.” Hence, those who are actively working on Silverlight 4 should work on Visual Studio 2010 Beta 2 instead of upgrading to the Release Candidate.
Complete this survey for Visual Studio 2010 and .NET Framework 4 Release Candidate: https://mscuillume.smdisp.net/Collector/Survey.ashx?Name=VS2010-RC
Last but not least, if you have any issue working with the RC version of Visual Studio 2010 or if you find any bug or if you have any future suggestions please never forget to report it at Microsoft Connect site: https://connect.microsoft.com/VisualStudio
In this post I will discuss on how to create a Silverlight arrow. This will be beneficial for implementing Silverlight presentation where you can add some arrows to point to some blocks. This is simple enough to implement & will be beneficial for the beginners.
Create a Silverlight project. Now add a public class “Arrow” in it. Inside the Arrow.cs you have to add three lines (one is the base line, second is the left arrow head & the third is the right arrow head). Next you have to add those three lines inside a Panel.
Let’s start with creating the simple arrow in step-by-step process. First step is to create the base line of the arrow. Create a Line and set it’s (x1, y1) & (x2, y2). This will create the line.
private static Line CreateBaseLine(double startX, double startY, double length, Brush lineBrush, double thickness) { Line arrowLine = new Line(); arrowLine.Stroke = lineBrush; arrowLine.StrokeThickness = thickness; arrowLine.X1 = startX; arrowLine.X2 = length; arrowLine.Y1 = startY; arrowLine.Y2 = startY; return arrowLine; }Now lets create the left arrow head. The approach to it is same as creating the base line. Here only you have to pass the instance of the base line for calculating the (x1, y1).
private static Line CreateLeftArrowHead(Brush lineBrush, double thickness, Line arrowLine) { Line arrowLeft = new Line(); arrowLeft.Stroke = lineBrush; arrowLeft.StrokeThickness = thickness; arrowLeft.X1 = arrowLine.X2 - 10.00; arrowLeft.X2 = arrowLine.X2; arrowLeft.Y1 = arrowLine.Y2 - 10.00; arrowLeft.Y2 = arrowLine.Y2; return arrowLeft; }Creation of right arrow head is also similar to the one I mentioned for creating the left arrow head. The difference here is the y1.
private static Line CreateRightArrowHead(Brush lineBrush, double thickness, Line arrowLine) { Line arrowRight = new Line(); arrowRight.Stroke = lineBrush; arrowRight.StrokeThickness = thickness; arrowRight.X1 = arrowLine.X2 - 10.00; arrowRight.X2 = arrowLine.X2; arrowRight.Y1 = arrowLine.Y2 + 10.00; arrowRight.Y2 = arrowLine.Y2; return arrowRight; }
Here instead of creating two separate methods for creating the two arrow heads you can just create only one method & pass the calculated (x1, y1) & (x2, y2). This is the simple approach mentioned here to give an idea to the beginner to create an arrow. It can be modified to implement some complex arrows like Horizontal, Vertical or even better Connected Arrows.
Download Sample Application: Silverlight Arrow Demo
Microsoft Community Techdays is going on in India. It already started in 12 cities across India for Developers & IT Professionals. This will cover a big content on .Net 4.0, Visual Studio 2010, Silverlight, Cloud Computing, Windows 7 and SQL Server. Go ahead & learn the technical skills from the experts.
Visit the Community Techdays site and register yourself for your active participation. Chose any one of the event (Online or In-Person) which best suits you.