C# 如何使用子元素触发父元素?

C# 如何使用子元素触发父元素?,c#,wpf,C#,Wpf,我试图做的是当我的鼠标越过边框内的一个按钮时,边框的背景颜色必须改变 <Border Name="HistoryBorder" Grid.Column="0" Height="30" VerticalAlignment="Top" Margin="0,0,326.8,0" Background="#FF323030" CornerRa

我试图做的是当我的鼠标越过边框内的一个按钮时,边框的背景颜色必须改变

 <Border Name="HistoryBorder" 
            Grid.Column="0" 
            Height="30" 
            VerticalAlignment="Top" 
            Margin="0,0,326.8,0" 
            Background="#FF323030" 
            CornerRadius="0,0,15,0" 
            MouseDown="draging_bar">
        <Button HorizontalAlignment="Center" 
                VerticalAlignment="Center" 
                Width="75" 
                Name="HistoryButton" 
                Height="30" 
                Margin="0" 
                FontFamily="/Fonts/#Minecraft" 
                Foreground="#FFB6B002" >
            <Button.Content>
                History
            </Button.Content>
            <Button.Style>
                <Style TargetType="Button">
                    <Setter Property="Background" Value="Transparent"/>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type Button}">
                                <Border Background="{TemplateBinding Background}">
                                    <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                </Border>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding ElementName=HistoryButton, Path=IsMouseOver}" Value="True">
                            <DataTrigger.Setters>
                                <Setter Property="Background" Value="Green" />
                            </DataTrigger.Setters>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>
        </Button>
    </Border>

历史

正如您所看到的,边框是父对象,按钮是其中的子对象。当我尝试使用targetname时,它不起作用。这样做可能吗?

据我所知,将边框样式设置为与孩子的iMouseOver绑定是一种方法

<Border Name="HistoryBorder" 
    Grid.Column="0" 
    Height="30" 
    VerticalAlignment="Top" 
    Margin="0,0,326.8,0" 
    CornerRadius="0,0,15,0" 
    >
    <!-- You have to put Background color to Style. Or priority makes it cannot be overrided from the Setter of Style -->
    <Border.Style>
        <Style TargetType="{x:Type Border}">
            <Setter Property="Background" Value="#FF323030"/>
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=HistoryButton, Path=IsMouseOver}" Value="True">
                    <DataTrigger.Setters>
                        <Setter Property="Background" Value="Black"/>
                    </DataTrigger.Setters>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Border.Style>
    ...

...