Shapes
Shapes umożliwiają to samo GeometryDrawing jednak z racji tego, że dziedziczą bezpośrednio po FrameworkElement mogą być użyte bezpośrednio w UI. Wystarczy napisać:
<Button>
<Ellipse Fill=”Pink” Width=”200″ Height=”100″ Stroke=”Black” StrokeThickness=”5″/>
Button>
Jakie mamy dostępne elementy? Podobnie jak w przypadku GeometryDrawing są to: Rectangle, Ellipse, Line, Polyline, Polygon oraz Path. Zobaczmy co ciekawego udostępniają nam niektóre z tych kontrolek.
Rectangle
Prócz standardowych właściwości pozwalających na ustawienie rozmiaru prostokąta mamy możliwość ustawienia poziomy zaokrąglenia jego rogów.
<Rectangle Fill=”Pink” Width=”200″ Height=”100″ Stroke=”Black” StrokeThickness=”5″ RadiusX=”20″ RadiusY=”50″/>
Polyline
Polyline umożliwia utworzenie łamanej z odcinków. Punkty definiujemy za pomocą właściwości Points.
<Polyline Points=”0,0 100,20 10,40 90,60 20,80 80,100 30,118 70,136 40,154 60,172 50,180″ Stroke=”Black” StrokeThickness=”4″ />
Co da nam taka definicja?
Polygon
Polygon to w zasadzie Polyline, który dodatkowo za nas tworzy linię łączącą ostatni i pierwszy punkt z naszej krzywej, zamykając naszą figurę.
Path
Wszystkie powyższe kształty da się reprezentować za pomocą tego elementu.
<Path Data=”M0,0 L 100,20 10,40 90,60 20,80 80,100 30,118 70,136 40,154 60,172 50,180″ Stroke=”Black” StrokeThickness=”4″/>
Da nam taki sam wynik jak użycie Polyline.
Na koniec mała uwaga. Użycie tych klas może być dużym obciążeniem dla naszej aplikacji więc zalecane jest ich rozsądne użycie.
W następnym odcinku omówimy klasę Brush i pochodne.
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl