gpt4 book ai didi

WPF - 超链接样式不随内部标签样式变化

转载 作者:行者123 更新时间:2023-12-03 22:56:32 24 4
gpt4 key购买 nike

鉴于以下 XAML 标记,当我将鼠标悬停在超链接上时,我希望超链接中的文本变为橙色,因为我在其父控件上设置了前景色,它应该按 Property Value Inheritance 过滤掉。 .然而它仍然是黑色的。我需要做什么?

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Style x:Key="DemoLink" TargetType="{x:Type Hyperlink}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="DarkOrange" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<Label>
<Hyperlink Style="{StaticResource DemoLink}">
<Label Content="Text that should change colour on mouse over" />
</Hyperlink>
</Label>
</Grid>
</Window>

更新:Meleak 的简单回答是,使用 TextBlock 而不是内部 Label 会导致样式按预期工作 - TextBlock 从其父级获取前景色,而 Label 不会。

例如
<Label>
<Hyperlink Style="{StaticResource DemoLink}">
<TextBlock Text="Text that does change colour on mouse over" />
</Hyperlink>
</Label>

最佳答案

看来Label不受 Foreground 的影响设置在其父级上。即使这样也没有效果

<Label>
<Hyperlink Style="{StaticResource DemoLink}" Foreground="DarkOrange">
<Label Content="This is some text that should change colour on mouse over" />
</Hyperlink>
</Label>

更新
Label 设置样式而不是 Hyperlink它会起作用
<Window.Resources>
<Style x:Key="DemoLinkLabel" TargetType="Label">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="DarkOrange" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<Label>
<Hyperlink Name="DemoHyperlink" >
<Label Content="This is some text that should change colour on mouse over"
Style="{StaticResource DemoLinkLabel}"/>
</Hyperlink>
</Label>
</Grid>

再次更新
简单的方法是使用 TextBlock而不是 Label因为它没有这个问题
<Hyperlink Name="DemoHyperlink" Style="{StaticResource DemoLink}">
<TextBlock Text="This is some text that should change colour on mouse over"/>
</Hyperlink>

关于WPF - 超链接样式不随内部标签样式变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4868712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com