Draw a circle in WPF using min(width, height)/2 as radius
Asked Answered
A

2

12

How I can draw a circle in WPF (without code-behind) using min(width, height)/2 as radius?

Amorphism answered 22/9, 2011 at 1:3 Comment(3)
Your assumption that this is possible without code-behind is probably wrong.Bobbie
I writing theme for WPF and I need to solution without using code-behind =(Amorphism
use an ellipse control and the height and width values will be equal then it will be an circleGroundling
Q
11

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>
Quintile answered 18/3, 2014 at 16:10 Comment(0)
G
8

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.

Gumdrop answered 22/9, 2011 at 1:17 Comment(2)
Ellipse placed in Grid. Grid determine width and heigh automatically (Column Widdth="", Row Height="")Amorphism
I don't think you can do that in pure XAML as I don't know of any logic to get the minimum of two numbers. But I am not a XAML expert.Gumdrop

© 2022 - 2024 — McMap. All rights reserved.