<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>LiveGeometry Forum Rss Feed</title><link>http://www.codeplex.com/LiveGeometry/Thread/List.aspx</link><description>LiveGeometry Forum Rss Description</description><item><title>New Post: 1 point draw 4 lines</title><link>http://livegeometry.codeplex.com/discussions/433935</link><description>&lt;div style="line-height: normal;"&gt;Hello&lt;br /&gt;
I fell over Live Geometry project in a Microsoft group.&lt;br /&gt;
And I must say that I am impressed :-)&lt;br /&gt;
&lt;br /&gt;
Now I have started to play around with the package, and would like to draw a shape consisting of several lines and a height and width with a mouse click and then specify the height and width.&lt;br /&gt;
&lt;br /&gt;
I just can not quite figure out how I make the last 3 points...&lt;br /&gt;
&lt;pre&gt;&lt;code&gt; protected override IEnumerable&amp;lt;IFigure&amp;gt; CreateFigures()
        {
            var p1 = FoundDependencies[0] as IPoint;
            
            var p2 = new Point(p1.Coordinates.X + 10, p1.Coordinates.Y);
            var p3 = new Point(p1.Coordinates.X + 10, p1.Coordinates.Y + 10);
            var p4 = new Point(p1.Coordinates.X, p1.Coordinates.Y + 10);
            
            
            var side0 = Factory.CreateSegment(Drawing, p1, p2);
            var side1 = Factory.CreateSegment(Drawing, p2, p3);
            var side2 = Factory.CreateSegment(Drawing, p3, p4);
            var side3 = Factory.CreateSegment(Drawing, p4, p1);
            var midpoint0 = Factory.CreateMidPoint(Drawing, side0);
            var midpoint1 = Factory.CreateMidPoint(Drawing, side1);
            var midpoint2 = Factory.CreateMidPoint(Drawing, side2);
            var midpoint3 = Factory.CreateMidPoint(Drawing, side3);

            var added = new IFigure[]
            {
                side0, 
                side1,
                side2,
                side3,
            };


            foreach (var item in added)
            {
                yield return item;
            }
        }&lt;/code&gt;&lt;/pre&gt;

So I would like even control the coordinates of points B, C and D&lt;br /&gt;
&lt;br /&gt;
Can you help me started?&lt;br /&gt;
&lt;br /&gt;
Thank you in advance&lt;br /&gt;
&lt;br /&gt;
//OleZen&lt;br /&gt;
&lt;/div&gt;</description><author>olezen</author><pubDate>Thu, 21 Feb 2013 09:58:20 GMT</pubDate><guid isPermaLink="false">New Post: 1 point draw 4 lines 20130221095820A</guid></item><item><title>New Post: Direction Needed...Where to look</title><link>http://livegeometry.codeplex.com/discussions/430883</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I was directed to this project from a MSDN forum post and I am&amp;nbsp;definitely&amp;nbsp;going to download the source and see if I can provide any useful contributions. I however need a quick pointer as to where to begin with my specific addition. Here is my
 business need and my thought is to just extend this product, satisfy my business need and submit the extension for review.&lt;/p&gt;
&lt;p&gt;My objective is to randomly create polygons for student analysis. The number of sides could be up to twenty and each length is random so...The number of sides would be randomly generated from 4-20 and then the length of each side would be randomly generated.
 Now to make things a bit more complicated I need the shape on some sort of a grid so students can calculate&amp;nbsp;perimeter, area etc.&lt;/p&gt;
&lt;p&gt;So as I opened with I'm not asking anyone to do my job for me just point my nose in the right direction.&lt;/p&gt;
&lt;p&gt;Thank You&lt;/p&gt;
&lt;p&gt;JB&lt;/p&gt;
&lt;/div&gt;</description><author>ramjet69</author><pubDate>Fri, 25 Jan 2013 17:35:27 GMT</pubDate><guid isPermaLink="false">New Post: Direction Needed...Where to look 20130125053527P</guid></item><item><title>New Post: Segment and Ray</title><link>http://livegeometry.codeplex.com/discussions/358166</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Generally, all you need to define your own figure is the actual figure class, and a corresponding Creator class (that defines which dependencies are required to be entered&amp;nbsp;by the user to fully specify your figure).&lt;/p&gt;
&lt;p&gt;Segment, Ray and Line all inherit from LineBase.&lt;/p&gt;
&lt;p&gt;LineBase defines a property called OnScreenCoordinates, which returns a PointPair of actual endpoints drawn in the viewport.&lt;/p&gt;
&lt;p&gt;The default LineBase implementation is just to return Coordinates (the two dependency points joined together).&lt;/p&gt;
&lt;p&gt;However Ray overrides this virtual property with an implementation which uses the first dependency point as is, and extends the second point of OnScreenCoordinates till the edge of the viewport.&lt;/p&gt;
&lt;p&gt;Line overrides this virtual property to extend both ends of the line to the edges of the viewport.&lt;/p&gt;
&lt;p&gt;The math to extend a line to end at the viewport edge is in Math.GetLineFromSegment().&lt;/p&gt;
&lt;p&gt;Hope this helps,&lt;/p&gt;
&lt;p&gt;Kirill&lt;/p&gt;&lt;/div&gt;</description><author>KirillOsenkov</author><pubDate>Fri, 22 Jun 2012 07:10:01 GMT</pubDate><guid isPermaLink="false">New Post: Segment and Ray 20120622071001A</guid></item><item><title>New Post: Segment and Ray</title><link>http://livegeometry.codeplex.com/discussions/358166</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I've been looking at the source code for a while now. &amp;nbsp;I'm interested in creating new types of figures. &amp;nbsp;I'm looking at how the figures&amp;nbsp;are created to get a better understanding what to do to create a new figure, but I must be missing something.&lt;/p&gt;
&lt;p&gt;Take, for example, the ray and the segment. &amp;nbsp;I think I understand the part about dependencies, and both these figures&amp;nbsp;have the same point, point dependency. &amp;nbsp;But where is it defined that the segment line ends at the second point and where
 the ray line continues on? &amp;nbsp;I would think the segment and ray classes would have that kind of logic, but it doesn't look like it. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can someone point me in the right direction? thanks.&lt;/p&gt;
&lt;/div&gt;</description><author>bbuten</author><pubDate>Mon, 04 Jun 2012 00:37:49 GMT</pubDate><guid isPermaLink="false">New Post: Segment and Ray 20120604123749A</guid></item><item><title>New Post: Vector Styles</title><link>http://livegeometry.codeplex.com/discussions/353338</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hey,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Firstly, great work on LiveGeometry. It is a fantastic geometry engine.&lt;/p&gt;
&lt;p&gt;I have a question relating to Vector styles. It appears the Vector style is taken from the current Segment style. I can't overwrite the style and I cannot see where the association between Segment style and Vector style is made.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Has anyone changed the vector styles?!&lt;/p&gt;
&lt;/div&gt;</description><author>padraigoleary</author><pubDate>Tue, 24 Apr 2012 08:52:43 GMT</pubDate><guid isPermaLink="false">New Post: Vector Styles 20120424085243A</guid></item><item><title>New Post: Brilliant But Impractical Program</title><link>http://livegeometry.codeplex.com/discussions/346406</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;This program is a brilliant work and teh author is a genius BUT it is totally impractical as it currently stands.&lt;/p&gt;
&lt;p&gt;I am a television producer and my hobby is programming. When I create a show for TV it must accomplish a goal of selling either a product or advertising or both that makes money which is practical. You created an incedible program and didn't even include
 a single practical thing in it ? Why not?&lt;/p&gt;
&lt;p&gt;As an example, let's put a practical tool in this application, say a Joist Calculator. Floor Joists come in certain fixed widths and are spaced by some fixed distance. Say our Joists are 4 inches wide and spaced one foot apart and that they run vertical.
 A practical Tool that you could have included was a Joist calculator that would fill an area with a group of rectangles representing the Joists covering a floor and the user would then select a Joist tool that would allow the user to click between the Joists
 and a LINE would then be placed from one&amp;nbsp;horizontal&amp;nbsp;side to the parallel side of the floor plan. The the Joist Calculator would sum up the linear lengths of these lines and that would give you the total LINEAR length of say heating elements require.
 This is a practical example that would put your &amp;quot;Live Geometry&amp;quot; on the map. But I noticed that you didn't even include a rectangle in your elements? Is this project dead?&lt;/p&gt;
&lt;p&gt;This is a brilliant piece of work and if you add some practical tools the application will be become famous--really famous.&lt;/p&gt;
&lt;p&gt;It has enough &amp;quot;geometry&amp;quot; in it now--it needs practical things added to make it really robust.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description><author>tvmogul</author><pubDate>Mon, 27 Feb 2012 12:37:06 GMT</pubDate><guid isPermaLink="false">New Post: Brilliant But Impractical Program 20120227123706P</guid></item><item><title>New Post: Sorry for inconvenience</title><link>http://livegeometry.codeplex.com/discussions/213801</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You need to add a RECTANGLE where each side is parallel to an axis. This is the most useful shape in any CAD application and I am amzed you haven't added it? Why?&lt;/p&gt;&lt;/div&gt;</description><author>tvmogul</author><pubDate>Mon, 27 Feb 2012 01:19:21 GMT</pubDate><guid isPermaLink="false">New Post: Sorry for inconvenience 20120227011921A</guid></item><item><title>New Post: How Do I Add This Rectangle As A Behavior?</title><link>http://livegeometry.codeplex.com/discussions/344809</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The Rectangle. in my opinion, is the MOST important shape there is in the real world. If I were to try and draw a layout of a floor plan for a house using this tool it would be very hard without a Rectangle!&lt;/p&gt;
&lt;p&gt;Below is a xml drawing of a Rectangle that allows you to change the length of either side--it is the rectangle that YOU created but never included?&lt;/p&gt;
&lt;p&gt;I want to add this as a default behavior just like you have a square as one of your default behaviors.&lt;/p&gt;
&lt;p&gt;I found one way to do this but it creates a new drawing--I want to add this as a behavior or at least be able to add this Rectangle to an EXISTING drwaing.&lt;/p&gt;
&lt;p&gt;How can I make this Rectangle a default behavior? Thank you.&lt;/p&gt;
&lt;p&gt;One more question--can I add this xml as a resource to the application and load this resource to an existing drawing? If so, how?&lt;/p&gt;
&lt;p&gt;Here is the Rectangle:&lt;/p&gt;
&lt;p&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&amp;lt;Drawing&amp;gt;&amp;nbsp; &amp;lt;Viewport Left="-19.9861304551" Top="10.4517177345" Right="19.9305362118" Bottom="-10.3961234912" Grid="true" Axes="true" /&amp;gt;&amp;nbsp; &amp;lt;Styles&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;PointStyle Size="10" Fill="#FFFFFF00" IsFilled="true" Color="#FF000000"  StrokeWidth="1" Name="1" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;PointStyle Size="10" Fill="#FF00FF00" IsFilled="true" Color="#FF000000" StrokeWidth="1" Name="2" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;PointStyle Size="10" Fill="#FFC0C0C0" IsFilled="true" Color="#FF000000" StrokeWidth="1" Name="3" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;LineStyle Color="#FF000000"  StrokeWidth="1" Name="4" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;ShapeStyle Fill="#FFFFFF00" IsFilled="true" Color="#00FFFFFF" StrokeWidth="1" Name="5" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;ShapeStyle Fill="#FFFFFF00" IsFilled="true" Color="#FF000000" StrokeWidth="1" Name="6" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;TextStyle FontSize="18" Color="#FF000000"  FontFamily="Arial" Bold="false" Italic="false" Underline="false" Name="7" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;TextStyle FontSize="18" Color="#FF000000" FontFamily="Arial" Bold="false" Italic="false" Underline="false" Name="8" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;ShapeStyle Fill="#FF22FF00" IsFilled="true" Color="#00FFFFFF"  StrokeWidth="1" Name="9" /&amp;gt;&amp;nbsp; &amp;lt;/Styles&amp;gt;&amp;nbsp; &amp;lt;Figures&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;FreePoint Name="E" Style="1" X="0" Y="0" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;PointByCoordinates Name="F" Visible="false" Style="1" X="E.X+1" Y="E.Y"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="E" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/PointByCoordinates&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;LineTwoPoints Name="LineTwoPoints36"  Visible="false" Style="4"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="E" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="F" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/LineTwoPoints&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;PointOnFigure Name="G" Style="2" X="9" Y="0" Parameter="9"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="LineTwoPoints36" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/PointOnFigure&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;PerpendicularLine Name="PerpendicularLine40"  Visible="false" Style="4"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="LineTwoPoints36" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="G" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/PerpendicularLine&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;PointOnFigure Name="H" Style="2" X="9" Y="4" Parameter="-4"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="PerpendicularLine40" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/PointOnFigure&amp;gt;&amp;nbsp;  &amp;nbsp; &amp;lt;ParallelLine Name="ParallelLine42" Visible="false" Style="4"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="PerpendicularLine40" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="E" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/ParallelLine&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;ParallelLine Name="ParallelLine44" Visible="false" Style="4"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="LineTwoPoints36"  /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="H" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/ParallelLine&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;IntersectionPoint Name="I" Style="3" Algorithm="IntersectLineAndLine"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="ParallelLine44" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="ParallelLine42" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/IntersectionPoint&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;Polygon Name="Polygon61"  Style="5"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="E" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="I" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="H" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="G" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Polygon&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;Segment Name="Segment62" Style="4"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="E" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="I" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Segment&amp;gt;&amp;nbsp; &amp;nbsp;  &amp;lt;Segment Name="Segment63" Style="4"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="I" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="H" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Segment&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;Segment Name="Segment64" Style="4"&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="H" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="G" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Segment&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;Segment Name="Segment65" Style="4"&amp;gt;&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="G" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Dependency Name="E" /&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Segment&amp;gt;&amp;nbsp; &amp;lt;/Figures&amp;gt;&amp;lt;/Drawing&amp;gt;&lt;/p&gt;&lt;/div&gt;</description><author>tvmogul</author><pubDate>Sat, 25 Feb 2012 15:03:04 GMT</pubDate><guid isPermaLink="false">New Post: How Do I Add This Rectangle As A Behavior? 20120225030304P</guid></item><item><title>New Post: Problem Coloring PropertGrid</title><link>http://livegeometry.codeplex.com/discussions/326847</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi, Thank you for responding....&lt;/p&gt;
&lt;p&gt;I posted an image of the problem on my website:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.domain-genie.com/images/bug.png"&gt;http://www.domain-genie.com/images/bug.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you look at this picture of the PropertyGrid you will see that I was able to change PART of the BackColor to Gra.&lt;/p&gt;
&lt;p&gt;The border is colored Black BUT there is a rectangle of YELLOW around the PropertyGrid--what is this rectangle?&lt;/p&gt;
&lt;p&gt;Below is the exact code for DrawingHost from your latest version posted on this website:&lt;/p&gt;
&lt;p&gt;For example: The change I make to&amp;nbsp;&lt;strong&gt;CreatePropertyGrid(&lt;/strong&gt;) below such as making the colors all black do NOT appear anywhere in the PropertyGrid ????? &amp;nbsp; &amp;nbsp;&lt;strong&gt;&lt;em&gt;Is the code haunted?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected void CreatePropertyGrid()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer = new ScrollViewer()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VerticalScrollBarVisibility = ScrollBarVisibility.Auto,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Margin = new Thickness(8),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizontalAlignment = HorizontalAlignment.Right,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VerticalAlignment = VerticalAlignment.Top,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MinWidth = 200.0,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Background = new SolidColorBrush(Color.FromArgb(255, 213, 220, 232)),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Background = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0)),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BorderBrush = new SolidColorBrush(Colors.Black),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Visibility = Visibility.Collapsed&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid = new PropertyGrid();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MEFHost.Instance.SatisfyImportsOnce(PropertyGrid);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.Margin = new Thickness(4);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer.Content = PropertyGrid;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.VisibilityChanged += PropertyGrid_VisibilityChanged;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Canvas.SetZIndex(propertyGridScrollViewer, (int)ZOrder.StatusBar);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.ValueDiscoveryStrategy = new ExcludeByDefaultValueDiscoveryStrategy();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;strong&gt;//WS &amp;nbsp;NO CHANGE IN COLOR of PropertyGrid ?????? &amp;nbsp;&lt;/strong&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt;//propertyGridScrollViewer.Background = new SolidColorBrush(Color.FromArgb(200, 213, 220, 232));&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //PropertyGrid.Background = new SolidColorBrush(Color.FromArgb(200, 213, 220, 232));&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //propertyGridScrollViewer.Background = new SolidColorBrush(Color.FromArgb(200, 213, 220, 232));&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #ff0000;"&gt;&lt;strong&gt;propertyGridScrollViewer.Background = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.Background = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer.Background = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer.Margin = new Thickness(60);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;
&lt;p&gt;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; public class DrawingHost : Grid&amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public event EventHandler ReadyForInteraction;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public event EventHandler&amp;lt;UnhandledExceptionNotificationEventArgs&amp;gt; UnhandledException = delegate { };&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Drawing CurrentDrawing&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return this.DrawingControl.Drawing;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Ribbon Ribbon { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public DrawingControl DrawingControl { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public PropertyGrid PropertyGrid { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public StatusBar StatusBar { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public FigureExplorer FigureExplorer { get; set;  }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected ScrollViewer propertyGridScrollViewer;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandToggleGrid { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandToggleOrtho { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandToggleSnapToGrid { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandToggleSnapToPoint { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandToggleLabelNewPoints  { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandTogglePolar { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandToggleSnapToCenter { get; set; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandShowFigureExplorer { get; set; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Command CommandZ { get; set; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public DrawingHost()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Behavior.NewBehaviorCreated += Behavior_NewBehaviorCreated;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Behavior.BehaviorDeleted += Behavior_BehaviorDeleted;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SetupLayout();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void SetupLayout()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.RowDefinitions.Add(new RowDefinition());&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.ColumnDefinitions.Add(new ColumnDefinition());&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto });&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CreateRibbon();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CreateCanvas();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CreatePropertyGrid();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CreateStatusBar();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CreateFigureExplorer();&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Children.Add(Ribbon);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Children.Add(DrawingControl);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Children.Add(propertyGridScrollViewer);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Children.Add(StatusBar);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Children.Add(FigureExplorer);&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.Visible = Settings.Instance.ShowFigureExplorer;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetColumnSpan(Ribbon, 2);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetColumn(FigureExplorer, 1);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetRow(FigureExplorer, 1);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetRow(DrawingControl, 1);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetRow(propertyGridScrollViewer, 1);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Grid.SetRow(StatusBar,  1);&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //WS&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CommandToggleGrid = new Command(ToggleGrid, CartesianGrid.GetIcon(), "Grid", BehaviorCategories.Coordinates);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CommandToggleOrtho = new Command(ToggleOrtho, new CheckBox(), "Ortho", BehaviorCategories.Selection);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp; CommandToggleSnapToGrid = new Command(ToggleSnapToGrid, new CheckBox(), "Snap to grid", BehaviorCategories.Selection);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CommandToggleSnapToPoint = new Command(ToggleSnapToPoint, new CheckBox(), "Snap to point", BehaviorCategories.Selection);&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CommandToggleLabelNewPoints = new Command(ToggleLabelNewPoints, new CheckBox(), "Label New Points", BehaviorCategories.Points);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CommandTogglePolar = new Command(TogglePolar, new CheckBox(), "Polar", BehaviorCategories.Selection);&amp;nbsp; &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; CommandToggleSnapToCenter = new Command(ToggleSnapToCenter, new CheckBox(), "Snap to Center", BehaviorCategories.Selection);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CommandShowFigureExplorer = new Command(ToggleFigureExplorer, new CheckBox() { IsChecked = FigureExplorer.Visible  }, "Figure List", BehaviorCategories.Drawing);&lt;br /&gt; &lt;strong&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //WS &amp;nbsp;No change in color either with this? &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;StatusBar.Background = new SolidColorBrush(Color.FromArgb(255, 156, 170, 193));&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected void CreateFigureExplorer()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer = new FigureExplorer()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MinWidth = 200,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MaxWidth = 400&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.SelectionChanged += FigureExplorer_SelectionChanged;&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool guard = false; // to prevent reentrancy&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; void FigureExplorer_SelectionChanged(object sender, SelectionChangedEventArgs e)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (guard)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; guard = true;&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (var deselected in e.RemovedItems)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IFigure deselectedFigure = deselected as IFigure;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (deselectedFigure != null)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; deselectedFigure.Selected = false;&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (var selected in e.AddedItems)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IFigure selectedFigure = selected as IFigure;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (selectedFigure != null)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; selectedFigure.Selected = true;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CurrentDrawing.RaiseSelectionChanged(CurrentDrawing.GetSelectedFigures());&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; guard = false;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; void drawing_SelectionChanged(object sender, Drawing.SelectionChangedEventArgs e)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SyncFigureExplorerSelection();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void SyncFigureExplorerSelection()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (guard)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; guard = true;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Temporary Solution. &amp;nbsp;This causes figure's name change to show in FigureExplorer.&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Same temporary solution is used in ToggleFigureExplorer.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (FigureExplorer.Visible)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.ItemsSource  = null;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.ItemsSource = CurrentDrawing.Figures;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // End Temporary Solution&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.SelectedItem = null;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (var selectedFigure in CurrentDrawing.GetSelectedFigures())&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.SelectedItems.Add(selectedFigure);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; guard = false;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void CreateStatusBar()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StatusBar = new StatusBar();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StatusBar.HorizontalAlignment = HorizontalAlignment.Left;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StatusBar.VerticalAlignment = VerticalAlignment.Bottom;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Canvas.SetZIndex(StatusBar,  (int)ZOrder.StatusBar);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Eureka!&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Background = new SolidColorBrush(Color.FromArgb(255, 255, 255, 233)),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected void CreatePropertyGrid()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer = new ScrollViewer()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizontalScrollBarVisibility  = ScrollBarVisibility.Auto,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VerticalScrollBarVisibility = ScrollBarVisibility.Auto,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Margin = new Thickness(8),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizontalAlignment = HorizontalAlignment.Right,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VerticalAlignment = VerticalAlignment.Top,&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MinWidth = 200.0,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Background = new SolidColorBrush(Color.FromArgb(255, 213, 220, 232)),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BorderBrush = new SolidColorBrush(Colors.Black),&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Visibility = Visibility.Collapsed&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid = new PropertyGrid();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MEFHost.Instance.SatisfyImportsOnce(PropertyGrid);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.Margin = new Thickness(4);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer.Content = PropertyGrid;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.VisibilityChanged  += PropertyGrid_VisibilityChanged;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Canvas.SetZIndex(propertyGridScrollViewer, (int)ZOrder.StatusBar);&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.ValueDiscoveryStrategy = new ExcludeByDefaultValueDiscoveryStrategy();&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //WS&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer.Background = new SolidColorBrush(Color.FromArgb(200, 213, 220, 232));&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.Background = new SolidColorBrush(Color.FromArgb(200, 213, 220, 232));&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer.Background  = new SolidColorBrush(Color.FromArgb(200, 213, 220, 232));&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer.Margin = new Thickness(60);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void PropertyGrid_VisibilityChanged(object sender, EventArgs e)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; propertyGridScrollViewer.Visibility = PropertyGrid.Visibility;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void ToggleLabelNewPoints()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Settings.Instance.AutoLabelPoints = !Settings.Instance.AutoLabelPoints;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void ToggleGrid()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CurrentDrawing.CoordinateGrid.Visible = !CurrentDrawing.CoordinateGrid.Visible;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void ToggleFigureExplorer()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (FigureExplorer.Visible)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.Visible = false;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Temporary Solution. &amp;nbsp;This causes figure's name  change to should show in FigureExplorer.&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Same temporary solution is used in SyncFigureExplorerSelection().&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.ItemsSource = null;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.ItemsSource = CurrentDrawing.Figures;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  &amp;nbsp; FigureExplorer.Visible = true;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void ToggleOrtho()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Settings.Instance.EnableOrtho = !Settings.Instance.EnableOrtho;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Settings.Instance.EnablePolar = false;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void TogglePolar()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Settings.Instance.EnablePolar = !Settings.Instance.EnablePolar;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Settings.Instance.EnableOrtho = false;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void ToggleSnapToGrid()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Settings.Instance.EnableSnapToGrid = !Settings.Instance.EnableSnapToGrid;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void ToggleSnapToPoint()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Settings.Instance.EnableSnapToPoint = !Settings.Instance.EnableSnapToPoint;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void ToggleSnapToCenter()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Settings.Instance.EnableSnapToCenter = !Settings.Instance.EnableSnapToCenter;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected void CreateCanvas()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DrawingControl = new DrawingControl();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DrawingControl.HorizontalAlignment = HorizontalAlignment.Stretch;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DrawingControl.VerticalAlignment = VerticalAlignment.Stretch;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  DrawingControl.ReadyForInteraction += RaiseReadyForInteraction;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DrawingControl.DrawingAttach += DrawingControl_DrawingAttach;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DrawingControl.DrawingDetach += DrawingControl_DrawingDetach;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected void RaiseReadyForInteraction(object sender, EventArgs e)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (ReadyForInteraction != null)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ReadyForInteraction(sender, e);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public virtual void RaiseCommandExecuted(Command command)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Do nothing when a command is executed but allow this to be overridden.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void DrawingControl_DrawingAttach(Drawing drawing)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.Status += mCurrentDrawing_Status;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.SelectionChanged += mCurrentDrawing_SelectionChanged;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.BehaviorChanged += mCurrentDrawing_BehaviorChanged;&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.DisplayProperties += mCurrentDrawing_DisplayProperties;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.UnhandledException += UnhandledException;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.SelectionChanged += drawing_SelectionChanged;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.ItemsSource = drawing.Figures;&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void DrawingControl_DrawingDetach(Drawing drawing)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.Status -= mCurrentDrawing_Status;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.SelectionChanged -= mCurrentDrawing_SelectionChanged;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.BehaviorChanged -= mCurrentDrawing_BehaviorChanged;&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.DisplayProperties -= mCurrentDrawing_DisplayProperties;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.UnhandledException -= UnhandledException;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drawing.SelectionChanged -= drawing_SelectionChanged;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FigureExplorer.ItemsSource = null;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  ShowProperties(null);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public BehaviorToolButton AddToolButton(Behavior behavior)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Ribbon.AddToolButton(behavior);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public CommandToolButton AddToolbarButton(Command command)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Ribbon.AddToolButton(command);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void RemoveToolButton(Behavior behavior)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Ribbon.RemoveToolButton(behavior);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void Behavior_NewBehaviorCreated(Behavior behavior)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddToolButton(behavior);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void Behavior_BehaviorDeleted(Behavior behavior)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RemoveToolButton(behavior);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void CreateRibbon()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Ribbon = new Ribbon(this);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void AddBehaviors(Assembly assembly)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var behaviors = Behavior.LoadBehaviors(assembly);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (var behavior in behaviors)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddToolButton(behavior);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void Clear()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.DrawingControl.Clear();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void mCurrentDrawing_DisplayProperties(object sender, Drawing.DisplayPropertiesEventArgs e)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowProperties(e.Object);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void mCurrentDrawing_BehaviorChanged(Behavior newBehavior)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Ribbon.SelectBehavior(newBehavior);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var help = newBehavior.HintText;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!help.IsEmpty())&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowHint(help);&amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowProperties(newBehavior.PropertyBag);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void mCurrentDrawing_SelectionChanged(object sender, Drawing.SelectionChangedEventArgs e)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowSelectionProperties();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void mCurrentDrawing_Status(string status)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowHint(status);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public virtual void ShowHint(string text)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!Settings.Instance.HideHints)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (text.IsEmpty())&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StatusBar.Visibility = Visibility.Collapsed;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StatusBar.Text = text;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StatusBar.Visibility = Visibility.Visible;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void ShowSelectionProperties()&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var selection = CurrentDrawing.GetSelectedFigures().ToArray();&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (selection.Length == 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowProperties(selection[0]);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  &amp;nbsp; else if (selection.Length &amp;gt; 1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowProperties(selection);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowProperties(null);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public virtual void ShowProperties(object selection)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.Show(selection, CurrentDrawing.ActionManager);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (Exception ex)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CurrentDrawing.RaiseError(this,  ex);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void ShowProperties(IEnumerable&amp;lt;object&amp;gt; selection)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyGrid.Show(selection, CurrentDrawing.ActionManager);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (Exception ex)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CurrentDrawing.RaiseError(this,  ex);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt; &lt;br /&gt; &amp;nbsp; &amp;nbsp; }//END OF CLASS&lt;/p&gt;&lt;/div&gt;</description><author>tvmogul</author><pubDate>Fri, 24 Feb 2012 21:16:54 GMT</pubDate><guid isPermaLink="false">New Post: Problem Coloring PropertGrid 20120224091654P</guid></item><item><title>New Post: How would you remove the negative axes?</title><link>http://livegeometry.codeplex.com/discussions/344757</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;As I have said, your work is brilliant!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am a television producer and my hobby is programming. In my work on television I spend a lot of time and attention on the GUI--the &amp;quot;Look &amp;amp; Feel&amp;quot; of a TV show or software application is what draws people...&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Many people, like myself prefer working on a Grid that has NO negative axes and the origin is in the lower right-hand corner of the screen.&lt;/p&gt;
&lt;p&gt;How would you eliminate the negative axes and position the Origin in the lower left-hand corner of the screen just showing the positive x-axis and poitive y-axis?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;/div&gt;</description><author>tvmogul</author><pubDate>Fri, 24 Feb 2012 21:07:19 GMT</pubDate><guid isPermaLink="false">New Post: How would you remove the negative axes? 20120224090719P</guid></item><item><title>New Post: Problem Coloring PropertGrid</title><link>http://livegeometry.codeplex.com/discussions/326847</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Not sure why this is not working for you.&amp;nbsp; You are making changes in DrawingHost.﻿CreatePropertyGrid() right? I believe the border is black not yellow. You would change it to gray by changing the BorderBrush.&amp;nbsp; For the status message make similar changes to ﻿﻿﻿﻿﻿﻿DrawingHost.CreateStatusBar().&lt;/p&gt;&lt;/div&gt;</description><author>davidhartmann</author><pubDate>Thu, 23 Feb 2012 01:20:21 GMT</pubDate><guid isPermaLink="false">New Post: Problem Coloring PropertGrid 20120223012021A</guid></item><item><title>New Post: How to Click ToolButtons Programatically?</title><link>http://livegeometry.codeplex.com/discussions/332591</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;From inside say Page.cs... How would you programatically click one of the ToolButtons?&lt;/p&gt;
&lt;p&gt;I tried several ways but in evertry case I keep getting a null exception.&lt;/p&gt;
&lt;p&gt;So if I want to Click a toolButton programatically from inside of Page.cs how do you do it?&lt;/p&gt;
&lt;p&gt;The method calls made and properties set by clicking a button would be easier to work with if they were reachable from Page.cs.&lt;/p&gt;
&lt;p&gt;Can you give us one example of how to click a toolbutton programatically? Thanks!&lt;/p&gt;
&lt;/div&gt;</description><author>tvmogul</author><pubDate>Mon, 20 Feb 2012 21:28:44 GMT</pubDate><guid isPermaLink="false">New Post: How to Click ToolButtons Programatically? 20120220092844P</guid></item><item><title>New Post: Problem Coloring PropertGrid</title><link>http://livegeometry.codeplex.com/discussions/326847</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi, First, you are a genius! Incredible piece of work... Congratulations!&lt;/p&gt;
&lt;p&gt;I was trying to change the default color of the PropertyGrid. &lt;br&gt;
It seemns that the PropertyGrid in your latest SilverlightClient code has a background and a border that are both Yellow.&lt;/p&gt;
&lt;p&gt;I was able to change the default color of the background of the PropertyGrid from Yellow to Gray BUT the border of the PropertyGrid still remains Yellow no matter what changes I make--I changed all the &amp;quot;yellow&amp;quot; colors to &amp;quot;gray&amp;quot; but the border of the PropertyGrid
 is still Yellow!&lt;br&gt;
&lt;br&gt;
Could you please tell me how to change both the&amp;nbsp;background&amp;nbsp;AND the BORDER&amp;nbsp;of the PropertyGrid to Gary so that the entire PropertyGrid is Gray?&lt;br&gt;
&lt;br&gt;
How to change the background color of the Status message to gray?&lt;/p&gt;
&lt;p&gt;Thank you!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description><author>tvmogul</author><pubDate>Sun, 19 Feb 2012 13:14:34 GMT</pubDate><guid isPermaLink="false">New Post: Problem Coloring PropertGrid 20120219011434P</guid></item><item><title>New Post: [PropertyGridVisible (false)] of the method does not work.</title><link>http://livegeometry.codeplex.com/discussions/273140</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;&lt;span id="result_box" class="short_text" lang="en"&gt;&lt;span class="hps"&gt;Expect&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><author>leonli77hot</author><pubDate>Thu, 22 Sep 2011 00:05:42 GMT</pubDate><guid isPermaLink="false">New Post: [PropertyGridVisible (false)] of the method does not work. 20110922120542A</guid></item><item><title>New Post: [PropertyGridVisible (false)] of the method does not work.</title><link>http://livegeometry.codeplex.com/discussions/273140</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I'm familiar with the problem.&amp;nbsp; I'm going to let Kirill answer this one.&lt;/p&gt;&lt;/div&gt;</description><author>davidhartmann</author><pubDate>Tue, 20 Sep 2011 13:54:36 GMT</pubDate><guid isPermaLink="false">New Post: [PropertyGridVisible (false)] of the method does not work. 20110920015436P</guid></item><item><title>New Post: [PropertyGridVisible (false)] of the method does not work.</title><link>http://livegeometry.codeplex.com/discussions/273140</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;&lt;span id="result_box" lang="en"&gt;&lt;span&gt;I want to hide&lt;/span&gt; &lt;span&gt;a sub-&lt;/span&gt;&lt;span&gt;class&lt;/span&gt; &lt;span&gt;FigureBase&lt;/span&gt; &lt;span&gt;CreateNewStyle ().&lt;/span&gt; &lt;span&gt;But found&lt;/span&gt; &lt;span&gt;[PropertyGridVisible (false)]&lt;/span&gt; &lt;span&gt;does not work.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;How do I resolve&lt;/span&gt; &lt;span&gt;this problem&lt;/span&gt;&lt;span&gt;?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang="en"&gt;&lt;span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PropertyGridVisible(false)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void CreateNewStyle()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { base.CreateNewStyle(); }&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&lt;span&gt;&lt;span lang="en"&gt;&lt;span&gt;&lt;span id="result_box" lang="en"&gt;&lt;span class="hps"&gt;Others such as&lt;/span&gt; &lt;span class="hps"&gt;the following&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span class="hps"&gt;all&lt;/span&gt; &lt;span class="hps"&gt;I want to hide&lt;/span&gt;&lt;span&gt;, because&lt;/span&gt; &lt;span class="hps"&gt;these methods&lt;/span&gt; &lt;span class="hps"&gt;have&lt;/span&gt; &lt;span class="hps"&gt;abnormal behavior&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&lt;span&gt;&lt;span lang="en"&gt;&lt;span&gt;&lt;span lang="en"&gt;&lt;span&gt;&lt;span lang="en"&gt;&lt;span&gt;﻿&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;SegmentBisector.cs , PerpendicularLine.cs , ParallelLine.cs:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PropertyGridVisible(false)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void ConvertToRay()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PropertyGridVisible(false)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void ConvertToSegment()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&lt;span&gt;﻿AngleBisector.cs :&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PropertyGridVisible(false)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void ConvertToLine()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PropertyGridVisible(false)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void ConvertToSegment()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PropertyGridVisible(false)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void Reverse()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&lt;span&gt;&lt;span lang="en"&gt;&lt;span&gt;﻿&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="en"&gt;&lt;span&gt;﻿&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><author>leonli77hot</author><pubDate>Tue, 20 Sep 2011 01:00:12 GMT</pubDate><guid isPermaLink="false">New Post: [PropertyGridVisible (false)] of the method does not work. 20110920010012A</guid></item><item><title>New Post: Installation Instructions</title><link>http://livegeometry.codeplex.com/discussions/268973</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Thanks - that looks to be much the simpler solution!&lt;/p&gt;
&lt;p&gt;Richard&lt;/p&gt;&lt;/div&gt;</description><author>crazybone</author><pubDate>Mon, 15 Aug 2011 06:17:02 GMT</pubDate><guid isPermaLink="false">New Post: Installation Instructions 20110815061702A</guid></item><item><title>New Post: Installation Instructions</title><link>http://livegeometry.codeplex.com/discussions/268973</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;To create .xap files you need&amp;nbsp;Visual Studio 2010 Professional or higher and a knowledge of C#. You can find more details at &lt;a href="http://www.silverlight.net/"&gt;http://www.silverlight.net/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Why don't you want to use the .xap file that I've already compiled? It's at &lt;a href="http://livegeometry.com/LiveGeometry.xap"&gt;http://livegeometry.com/LiveGeometry.xap&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;</description><author>KirillOsenkov</author><pubDate>Mon, 15 Aug 2011 01:12:12 GMT</pubDate><guid isPermaLink="false">New Post: Installation Instructions 20110815011212A</guid></item><item><title>New Post: 3D Shapes</title><link>http://livegeometry.codeplex.com/discussions/269062</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Unfortunately 3D is not supported.&lt;/p&gt;&lt;/div&gt;</description><author>KirillOsenkov</author><pubDate>Mon, 15 Aug 2011 01:08:08 GMT</pubDate><guid isPermaLink="false">New Post: 3D Shapes 20110815010808A</guid></item><item><title>New Post: 3D Shapes</title><link>http://livegeometry.codeplex.com/discussions/269062</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;this is excellent stuff.&lt;/p&gt;
&lt;p&gt;I&amp;nbsp;wants to use this to make a 3D software. But I am not able to get 3D coordinate system drawings&amp;nbsp;.&lt;/p&gt;
&lt;p&gt;Could you please guide me how we can implement ,drawing a 3D shapes in LiveGeometry ?&lt;/p&gt;
&lt;/div&gt;</description><author>sandysandyIndia</author><pubDate>Sun, 14 Aug 2011 23:03:56 GMT</pubDate><guid isPermaLink="false">New Post: 3D Shapes 20110814110356P</guid></item></channel></rss>