C# 如何更改窗口';当鼠标在它上面时,它的背景是什么?
我已经了解了如何通过鼠标单击或当鼠标位于按钮上方时更改按钮的背景。当鼠标在C# 如何更改窗口';当鼠标在它上面时,它的背景是什么?,c#,wpf,xaml,C#,Wpf,Xaml,我已经了解了如何通过鼠标单击或当鼠标位于按钮上方时更改按钮的背景。当鼠标在窗口上时,如何更改其背景?我以前从未见过这样的事情。。。也许有人能帮我? 这是我用来更改按钮的背景的代码。我不知道我需要改变什么来做我需要的 <Window.Resources> <Style x:Key="DelAll"> <Setter Property="Button.Template"> <Setter.Value>
窗口上时,如何更改其背景?我以前从未见过这样的事情。。。也许有人能帮我?
这是我用来更改按钮的背景的代码。我不知道我需要改变什么来做我需要的
<Window.Resources>
<Style x:Key="DelAll">
<Setter Property="Button.Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Border Name="Head">
<Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Fill="Transparent" />
</Border>
<Label Name="NameLable" Content="Delete All" FontStyle="Italic" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Red"></Label>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Head" Property="Background" Value="#3500ACFF"/>
<Setter TargetName="Head" Property="BorderBrush" Value="#FF00ACFF"/>
<Setter TargetName="Head" Property="BorderThickness" Value="1,1,1,1"/>
<Setter TargetName="NameLable" Property="Foreground" Value="Blue"/>
</Trigger>
<Trigger Property="IsMouseDirectlyOver" Value="true">
<Setter TargetName="NameLable" Property="Foreground" Value="White"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="Del">
<Setter Property="Button.Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Border Name="Head">
<Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Fill="Transparent" />
</Border>
<Label Name="NameLable" Content="Delete" FontStyle="Italic" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="Yellow"></Label>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Head" Property="Background" Value="#3500ACFF"/>
<Setter TargetName="Head" Property="BorderBrush" Value="#FF00ACFF"/>
<Setter TargetName="Head" Property="BorderThickness" Value="1,1,1,1"/>
<Setter TargetName="NameLable" Property="Foreground" Value="Green"/>
</Trigger>
<Trigger Property="IsMouseDirectlyOver" Value="true">
<Setter TargetName="NameLable" Property="Foreground" Value="White"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<Button Style="{StaticResource DelAll}" HorizontalAlignment="Left" Width="150" Height="50" Margin="95,49,0,0" VerticalAlignment="Top"/>
<Button Style="{StaticResource Del}" HorizontalAlignment="Left" Width="150" Height="50" Margin="95,200,0,0" VerticalAlignment="Top"/>
</Grid>
此代码应该为您完成此任务,
<代码>
是相关部分
<Window x:Class="ForStackoverflow.MainWindow"
...
xmlns:local="clr-namespace:ForStackoverflow"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.Style>
<Style TargetType="{x:Type Window}">
<Setter Property="Background" Value="Blue" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Style>
<Grid>
Content..
</Grid>
</Window>
内容。。
它本质上与按钮相同,只是不是在
中创建样式,而是使用
设置窗口的样式。希望这有帮助 你试过同样的按钮吗?是的,我试过了。但最终什么也没发生,我决定在这里应用同样的原理。。。请展示你已经尝试过的…为我们写一些代码