kunal-chowdhury.com

Silverlight 5 Window : The things those I did not like


In my previous post that I did yesterday, I discussed about the Multiple Windows Support in Silverlight 5 Beta and there I mentioned that though it is a wonderful feature but there are some things that I didn't like. Though it is still in beta, so it is currently in development stage and may be the team is working on it.

 

Let's read the post to know the points those I didn't like or want in the future versions. Those are my personal opinions only and looking forward to see them implemented in future releases of Silverlight 5.

 

 

Point #1

There are no template available to create a Window control. So, we can't create the XAML of it, design and use it. We need to create a UserControl and add it dynamically from code behind to use. I think there should be a Template for it to create the Window and option to change the template using Blend or any other designer.

 

image

 

 

 

Point #2

If you explore the Window class, you will notice that the class is sealed; that means you can not inherit the class and create your own Window control.

 

image

 

 

Point #3

There is a method named Close() but I am really very confused why the Open() method is not present there. We need to use Visibility property to show the Window.

 

 
public sealed class Window : DependencyObject
{
    public Window();
 
    public double Height { get; set; }
    public double Width { get; set; }
    public double Left { get; set; }
    public double Top { get; set; }
    public bool TopMost { get; set; }
    public bool IsActive { get; }
 
    public WindowState WindowState { get; [SecuritySafeCritical]
    set; }
 
    public string Title { get; set; }
    public FrameworkElement Content { get; set; }
    public bool IsVisible { get; }
    public Visibility Visibility { get; set; }
    public WindowStyle WindowStyle { get; set; }
 
    [SecuritySafeCritical]
    public bool Activate();
 
    public void Close();
 
    [SecuritySafeCritical]
    public void DragMove();
 
    [SecuritySafeCritical]
    public void DragResize(WindowResizeEdge resizeEdge);
 
    public static Window GetWindow(DependencyObject dependencyObject);
    public event EventHandler<ClosingEventArgs> Closing;
}

 

 

Point #4

Also the property called "TopMost" is not working. I tried to set the property to "true" and thus it should stay the Window on top of every other Window but unfortunately that is not working too.

 

 

Point #5

As mentioned by Vikram in his blog post, if we have a higher Window size than the content, it shows a black background to the rest of the portion which was not covered by any content. We both discussed on this point few days back.

 

Have a look into the below screenshot where I have a smaller content size (White part) than the actual Window size:

 

image

 

 

 

Point #6

If you check the Window class, you will notice that there are no Background property mentioned in the class and hence we can't set the color of the Window background.

 

 

Point #7

Did you ever try to set a BorderlessRoundCornersWindow to the new Window class instance? If you add it, you will see the below "ArgumentException" while running the application:

 

image

 

 

That's all about the findings those I discovered till now and hope that Silverlight team will work in this point and make it available in the future releases.



Kunal Chowdhury
If you have come this far, it means that you liked what you are reading (Silverlight 5 Window : The things those I did not like).
Why not reach little more and connect with me directly on Twitter, Facebook, Google+ and LinkedIn. I would love to hear your thoughts and opinions on my articles directly.

Don't forget to share your feedback/queries in the comment section below.