Это мой XAML, создающий стиль, в котором кнопка выглядит как эллипс.
Я также сделал цвет с ключом, чтобы я мог изменить или даже связать его (не без удачи).
Проблема с привязкой заключается в том, что у меня нет имени для привязки к DataContent.
<Color x:Key="Player1C" >Gray</Color>
<Style x:Key="Player11" x:Name="Pl1style" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Ellipse Name="EllipsePl1" Width="30" Height="30" Stroke="#FF000000" StrokeThickness="1">
<Ellipse.Fill>
<SolidColorBrush Color="{StaticResource Player1C}"/>
</Ellipse.Fill>
</Ellipse>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Я пытался сделать это в C # Player1 = new Style(typeof(Button));
Player1.Setters.Add(new Setter(Ellipse.FillProperty, new SolidColorBrush(GameInstance.Color1)));
Но я просто получил кнопку
Затем я создал ControlTemplate, сетку, эллипс и заполнил эллипс, чтобы точно скопировать XAML
ControlTemplate ct1 = new ControlTemplate(typeof(Button));
Grid agrid = new Grid();
Ellipse el1 = new Ellipse();
el1.Fill = new SolidColorBrush(Colors.Black);
Но я получаю ошибку, когда пытаюсь сделать Player1.Setters.Add(new Setter(ct1 etc etc)
Буду очень признателен за любую помощь, будь то Связывание с XAML или способ сделать это до конца.
Я также пытался создать свой собственный класс кнопки, но у меня снова были проблемы.