我已经创建了一个具有属性SelfPropertyInfo的自定义文本框。这也有一些我们使用的其他属性(如IsValid,Description等)。我试图在文本框中添加样式,以便如果IsValid为false,它应该显示一个工具提示(其中包含Description)。WPF文本框的toolip前景不变
<Style TargetType="{x:Type ToolTip}">
<Setter Property = "Foreground" Value=" Red "/>
</Style>
<Style TargetType="{x:Type CustomControls:TextBox}">
<Setter Property="Height" Value="22"/>
<Setter Property="Margin" Value="2,2,2,2"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="DarkGray" />
</Trigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelfPropertyInfo.IsValid}" Value="False">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=SelfPropertyInfo.RuleDescription}" >
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
通过上面的代码,一切工作正常,但问题是,工具提示不是在“红色”的颜色。 ?:( 任何人都可以提出
我尝试另一种方法,现在的前景是“红楼梦”,但我需要帮助有关如何绑定tootip的文字说明,请参阅内部DataTrigger的变化,:
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelfPropertyInfo.IsValid}" Value="False">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="ToolTip">
<Setter.Value>
<ToolTip >
<TextBlock Foreground="Red" Text="Hello"/>
</ToolTip>
</Setter.Value>
</Setter>
</DataTrigger>
预先感谢任何帮助
我也试过下面的代码,但它使提示空白:
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelfPropertyInfo.IsValid}" Value="False">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="ToolTip">
<Setter.Value>
<ToolTip >
<TextBlock Foreground="Red" Text="{Binding RelativeSource={RelativeSource Self}, Path=SelfPropertyInfo.RuleDescription}"/>
</ToolTip>
</Setter.Value>
</Setter>
'ToolTip'的'DataContext'应该是一样的'TextBox'。您是否尝试过在'TextBlock.Text'的'CustomControls:TextBox.ToolTip'中使用的绑定? – dkozl
感谢您的评论。是的,我试过,但工具提示文本仍然是空白.. 看我的diid: –