How I can draw a circle in WPF (without code-behind) using min(width, height)/2
as radius?
Use its Stroke property to specify the Brush that is used to paint the outline of the ellipse. The StrokeThickness property specifies the thickness of the ellipse outline. To draw a circle, make the Width and Height of the Ellipse element equal to each other.
So how can we make one in XAML without acutally cropping the image? It's simple. First, use "ellipse" to draw a circle, make it's width equal to height, that makes a circle. Ellipse has many options on "Fill", such as solid color, gradient color, image, and web.
Position the pointer on the canvas, then click and drag to draw an ellipse. Hold the Shift key as you drag if you want to make a circle.
you can do it in pure XAML you just need to use Binding for the values. You also have to make sure that everything is named
<Grid Name="grdMain">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="75" Name="Col1" />
<ColumnDefinition Width="100" Name="Col2" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="75" Name="Row1" />
<RowDefinition Height="100" Name="Row2" />
</Grid.RowDefinitions>
<Ellipse Grid.Column="1" Grid.Row="1"
Canvas.Top="50"
Canvas.Left="50"
Fill="#FFFFFF00"
Height="{Binding RowDefinitions/ActualHeight, ElementName=Row1, Mode=OneWay}"
Width="{Binding ColumnDefinitions/ActualWidth, ElementName=Col1, Mode=OneWay}"
StrokeThickness="5"
Stroke="#FF0000FF"/>
</Grid>
Where does width and height come from? Example XAML for a circle is:
<Canvas Background="LightGray">
<Ellipse
Canvas.Top="50"
Canvas.Left="50"
Fill="#FFFFFF00"
Height="75"
Width="75"
StrokeThickness="5"
Stroke="#FF0000FF"/>
</Canvas>
A circle is just an Ellipse where Height = Width.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With