[英]Conditional style in WPF
I've made a style that makes TextBlock
look like a link: 我做了一个使
TextBlock
看起来像链接的样式:
<Style x:Key="linkStyle" TargetType="TextBlock">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="TextDecorations" Value="Underline" />
</Trigger>
</Style.Triggers>
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Foreground" Value="Blue" />
<EventSetter Event="MouseLeftButtonDown" Handler="navigateLink" />
</Style>
How to apply it only when TextBlock.Text
starts with http:// ? 如何在
TextBlock.Text
以http://开头时应用它?
try this 尝试这个
<Style x:Key="linkStyleConditional" TargetType="{x:Type TextBlock}">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True"/>
<Condition Binding="{Binding Path=Text, Converter={StaticResource SomeConverter}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="Orange" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
In SomeConverter write the logic if text start with http//: then return true else return false. 在SomeConverter中写入逻辑,如果文本以http //开头,则返回true,否则返回false。 i hope this will help.
我希望这将有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.