Solved

Access UserControl.left and UserControl.top c#

Posted on 2009-05-12
8
595 Views
Last Modified: 2012-08-13
How can I access the user controls left and top properties from within the user control?
I have a WPF user control. When i create this control dynamically through code i cannot access top and left properties. Any help regarding this will be much appreciated.. thanks very much
0
Comment
Question by:tonysebsatian
  • 5
  • 3
8 Comments
 
LVL 9

Expert Comment

by:tculler
ID: 24367155
Can you post the error message, or summarize it?
0
 

Author Comment

by:tonysebsatian
ID: 24373111
Thanks for your response...

I have a requirement where I need to create a rectangle shape when clicked a button. I created a WPF usercontrol as WinForm application dont have a rectangle or a shape control.

// When I create an instance of a rectangle object (usercontrol)
Rectangle rectangle = new Rectangle();
//and pass it to the below constructor of a class, it gives me all the properties and methods except Top and Left
 public RectangleElement(Rectangle rectangle)
        {
            height= rectangle.Height;
            width = rectangle.Width;
            top = 0;//   cannot find rectangle.Top
            left = 0;//   cannot find rectangle.Left
                    }

Hope this give a better view of my problem...  Thanks very much once again....
0
 

Author Comment

by:tonysebsatian
ID: 24373314
Hello, I think I have found a way to get Top and Left  values. and it seems working...

I added the below code snippet to the Rectangle class...
And i am able to move the rectangle using top and Left values..

Thaniks very much for your time and effort....

       public double Top
        {
            get { return Convert.ToDouble(Canvas.TopProperty); }
            set { this.SetValue(Canvas.TopProperty, value); }
        }
 
 
        public double Left
        {
            get { return Convert.ToDouble(Canvas.LeftProperty); }
            set { this.SetValue(Canvas.LeftProperty, value); }
        }

Open in new window

0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 
LVL 9

Accepted Solution

by:
tculler earned 500 total points
ID: 24380719
That should work, but why doubles? Last I checked, pixels were measured with whole numbers ;). An int (Int32) is what is "usually" used, but a short (Int16) would more than likely suffice.

Anyways, as for the Top and Left stuff, I'm really not sure why that didn't work (was the Rectangle a System.Drawing.Rectangle?), but the X property should be the same as the Left, and the Y property the same as the Top.
0
 

Author Comment

by:tonysebsatian
ID: 24383387
Thanks for your comment..
The WPF Rectangle control has both Top and left properties.
But when I add rectangle to a WPF user control and create an instance of it  --
WPFUserControl myusercontrol = new WPFUserControl();
I cant find both Top and Left properties.  But I have resolved this by adding two peoperties, Top and Left to the UserControl as i have listed in my previous message

Yes, I am taking your advice regarding Double. I have changed it to Int(int32) as its usually used. Thanks for the advice again...
0
 

Author Comment

by:tonysebsatian
ID: 24383399
Thanks for your help....
0
 

Author Closing Comment

by:tonysebsatian
ID: 31580597
Hello, thanks very much for your time. Thought you didnt had to spend much time on this Issue,  I would like to give you all the credits as an appreciation for your time...  Thanks
0
 
LVL 9

Expert Comment

by:tculler
ID: 24387048
I apologize for not being moer help, I've been a bit busy as of late, and have been slower on getting back to questions because of it. I'm glad you've found a solution though :)

Nate
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

816 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now