我有一个 Grid
与 Border
周围。将鼠标悬停在 Grid
上,我想更改Border
上的样式.我该怎么做呢?这是我尝试过的,到目前为止没有任何成功:
<Border Name="Border" BorderBrush="Transparent" BorderThickness="1" CornerRadius="2">
<Grid>
<Grid.Style>
<Style TargetType="{x:Type Grid}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Border" Property="BorderBrush" Value="#FFB9D7FC" />
</Trigger>
</Style.Triggers>
</Style>
</Grid.Style>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
...
</Grid>
</Border>
在尝试构建此 XAML 时,我收到错误
TargetName property cannot be set on a Style Setter.
但我想不出任何其他方法来做到这一点。帮助将不胜感激。使用任何代码隐藏都是不可能的。
最佳答案
您需要执行以下操作:
第 3 点的代码示例:
<Grid>
<Rectangle Fill="Transparent" /><!-- make sure that the mouse is always over "something" -->
<Grid Name="myGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Name="myText">sadasdsa</TextBlock>
</Grid>
</Grid>
关于.net - 在鼠标悬停时更改周围边框的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2145700/