Как сделать Button круглым?
Как сделать Button круглым?
Источник: Stack Overflow на русском
В WinForms можно сделать так.
System.Drawing.Drawing2D.GraphicsPath myPath =
new System.Drawing.Drawing2D.GraphicsPath();
myPath.AddEllipse(0, 0, button1.Width, button1.Height);
Region myRegion = new Region(myPath);
button1.Region = myRegion;
Если речь про WPF, то для изменения кнопки можно использовать новый стиль. В качестве исходных подойдут стили из, например, Expression Blend. Ход действий такой:
Ну, и собственно первоисточник.
P.S. В предельно упрощенном виде (сама идея) замена ControlTemplate выглядит так:
<ControlTemplate>
<Grid>
<Viewbox>
<Canvas>
<Ellipse Fill="{TemplateBinding Control.Background}" />
</Canvas>
</Viewbox>
<ContentPresenter Content="{TemplateBinding Button.Content}"/>
</Grid>
</ControlTemplate>