Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF ControlTemplate-为椭圆触发不同的背景色_C#_Wpf_Templates_Triggers - Fatal编程技术网

C# WPF ControlTemplate-为椭圆触发不同的背景色

C# WPF ControlTemplate-为椭圆触发不同的背景色,c#,wpf,templates,triggers,C#,Wpf,Templates,Triggers,我正在学习使用WPF,我遇到了一些问题。我正在创建一个自定义按钮,当我将鼠标移到该按钮上时,该按钮将更改背景颜色。此时,我有以下代码: <ControlTemplate x:Key="myButtonTemplate" TargetType="{x:Type Button}"> <Grid> <Ellipse x:Name="outerElipse" VerticalAlignment="Stretch" Horizontal

我正在学习使用WPF,我遇到了一些问题。我正在创建一个自定义按钮,当我将鼠标移到该按钮上时,该按钮将更改背景颜色。此时,我有以下代码:

<ControlTemplate x:Key="myButtonTemplate" TargetType="{x:Type Button}">
        <Grid>
            <Ellipse x:Name="outerElipse" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                <Ellipse.Fill>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="Green" Offset="0"/>
                        <GradientStop Color="Purple" Offset="1"/>
                    </LinearGradientBrush>
                </Ellipse.Fill>
            </Ellipse>
            <Ellipse VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="20">
                <Ellipse.Fill>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="LightBlue" Offset="0"/>
                        <GradientStop Color="Blue" Offset="1"/>
                    </LinearGradientBrush>
                </Ellipse.Fill>
            </Ellipse>
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" TextBlock.Foreground="White"/>
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Fill" Value="Black"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

问题是,我不知道如何在第一个(外)椭圆上触发它。 下一行还提供了一个错误“成员“填充”不可识别或不可访问:

<Setter Property="Fill" Value="Black"/>

将外部elipse的名称分配给Setter的TargetName属性

例:


将外部elipse的名称分配给Setter的TargetName属性

例:


<Setter Property="Fill" Value="Black" TargetName="outerElipse"/>