这是我的 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 的绑定还是在 c 语言中执行此操作的方法。我也尝试过创建自己的按钮类,但又遇到了问题。