更改按钮内的椭圆填充颜色
本文关键字:填充 颜色 按钮 | 更新日期: 2023-09-27 18:27:15
当按钮启用时,我想将椭圆填充颜色更改为绿色。
<Button x:Name="btn_Kaart2" Grid.Column="1" Grid.Row="2" IsEnabled="False">
<Button.Template>
<ControlTemplate>
<Ellipse x:Name="ellipse_2"
Height="35"
Stroke="Black"
Fill="Red"
Margin="-300,440,0,0"/>
</ControlTemplate>
</Button.Template>
</Button>
通常我会使用ellipse_2.Fill = "Color"
,但这不起作用,程序找不到ellipse_2
您可以使用RelativeSource
的数据绑定来获得它,而无需任何额外的代码
<Button x:Name="btn_Kaart2" Grid.Column="1" Grid.Row="2" IsEnabled="False">
<Button.Template>
<ControlTemplate>
<Ellipse x:Name="ellipse_2"
Height="35"
Margin="-300,440,0,0"
Stroke="Black">
<Ellipse.Style>
<Style TargetType="Ellipse">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled, RelativeSource={RelativeSource AncestorType=Button}}" Value="false">
<Setter Property="Fill" Value="red"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsEnabled, RelativeSource={RelativeSource AncestorType=Button}}" Value="true">
<Setter Property="Fill" Value="green"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
</Ellipse>
</ControlTemplate>
</Button.Template>
</Button>
重要的是Ellipse
本身没有Fill
属性
您可以通过更改*.xaml中的IsEnabled
值来尝试此操作,并且颜色应该在设计器中立即更改。